投稿

ローカルのOwncloudを参照させるまで

ローカルのOwncloudを参照させるまで

前提 LAN内に存在するサーバとConohaのサーバはSofteatherでブリッジを通して接続が行えている。

ローカルにDockerコンテナを立ち上げる

LAN内のサーバにて作業する。

Installing with Docker :: ownCloud Documentation

http://localhost:8080でアクセスできることを確認する。 ログイン、パスワードは、.envADMIN_USERNAME,ADMIN_PASSWORDを参照する。(参考では、admin)

OWNCLOUD_TRUSTED_DOMAINSに下記を記載する。

OWNCLOUD_TRUSTED_DOMAINS=localhost,192.168.2.xx,owncloud.example.com,www.owncloud.example.com

※ 192.168.2.xxはローカルネットワークのIP。owncloud.example.comはドメインアクセスの場合。

SSHトンネルを作成する

Conohaのサーバにて作業する。

8080ポートはコンテナで立ち上げたOwncloudへのポート localpcは.ssh/configに接続情報を記載している

ssh -f -N -L 0.0.0.0:8080:127.0.0.1:8080 localpc

キチンとするならサービス登録する。

Tips 0.0.0.0はlocalhost以外からのアクセスも受け付ける。dockerコンテナでnginxを立ち上げていたので必要な設定。 ssh tunnel - ssh -R make target host accept connection on all interfaces - Server Fault

curl http://localhost:8080などで疎通確認する。

Nginxからアクセスさせる

リバースプロキシ用のconfを作成する。 (DNS登録など環境に合わせて適宜に設定する)

server {
    listen 80;
    server_name www.owncloud.example.com owncloud.example.com;
    server_tokens off;

    location / {
       proxy_pass http://host.docker.internal:8080;
       proxy_set_header  X-Real-IP  $remote_addr;
       proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header Host $http_host;
       proxy_redirect off;
    }
}

別サンプル: Nginx configuration for SSH tunnel

ブラウザで、owncloud.example.comでアクセスできるはず。

Tips Docker compose内のnginxサービスに下記を追加してホストIPをhost.docker.internalにて参照させる。

    extra_hosts:
      - "host.docker.internal:host-gateway"

トレンドのタグ