ownCloudサーバーを、nginxのリバースプロキシを使って ~ /owncloud/ ディレクトリから利用できるようにしてみます。
ownCloudは、VirtualBoxアプライアンス版を使用しました。通常通りセットアップして、LANから問題なく使用できるようにしてある前提で進めていきます。
環境
nginxサーバー
IPアドレス
|
172.16.0.30
|
アドレス
|
my-home-server.ddns.net(仮)
|
OS
|
Ubuntu Server 18.04.2 (64bit)
|
nginx
|
1.14.0 (Ubuntu)
|
ownCloudサーバー
IPアドレス
|
172.16.0.40
|
アドレス
|
my-home-server.ddns.net/owncloud/(仮)
|
OS
|
Debian 9.8 (64bit)
|
ownCloud (Appliance)
|
10.2.1
|
SSL (TLS, https) の設定
以前の記事の通り設定し、アドレスと証明書を取得しておきます。
ownCloudの設定
ownCloudサーバーにadministratorアカウントでログインし、以下の設定ファイルを書き換えます。
/var/lib/univention-appcenter/apps/owncloud/conf/config.php
nanoで編集する場合のコマンドはこう
sudo nano /var/lib/univention-appcenter/apps/owncloud/conf/config.php
以下を書き足して上書き保存する。
'trusted_domains' =>
array (
0 => 'localhost',
1 => 'my-home-server.ddns.net',
2 => '172.16.0.40',
),
'trusted_proxies' => ['172.16.0.30'],
'overwritehost' => "my-home-server.ddns.net",
'overwriteprotocol' => "https",
'overwritewebroot' => "/owncloud",
'overwritecondaddr' => "^172\.16\.0\.30$",
nginxの設定
nginx.confを次のように編集しました。
/etc/nginx/conf.d/server.conf
server {
# SSLをon
ssl on;
listen 443;
server_name my-home-server.ddns.net;
root /var/www/html;
# SSL設定
ssl_certificate /etc/letsencrypt/live/my-home-server.ddns.net/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/my-home-server.ddns.net/privkey.pem;
# 今回の設定
location /owncloud/ {
add_header Content-Security-Policy "unsafe-inline";
max_client_body_size 20000m;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass https://172.16.0.40/owncloud/;
}
# その他のロケーション設定など
location /edcb/ {
# 省略
}
}
Content-Security-Policyを設定しないとファイルのダウンロードが失敗します。
またmax_client_body_sizeを設定しないと、1MB以上のファイルをアップロードできませんでした。
まとめ
以上の設定をすることで、無事nginx越しにownCloudを使えるようになりました。この設定にたどり着くまでがなかなかに大変で、様々な設定を試して試行錯誤した結果こうなりました。今の所安定して稼働しているので大丈夫なんだと思います・・・。
コメント
コメントを投稿