2017-11-30 6 views
0

私はドッキングウィンドウ-コンを経由して実行されている2個のコンテナがあります。ドッカーのnginxプロキシに別のポートを使用するにはどうすればよいですか?

:私のカスタム default.confがどのように見える

#!/usr/bin/env bash 

cp /etc/myapp/nginx/default.conf /etc/nginx/conf.d/default.conf 
nginx -g 'daemon off;' 

entrypoint.shからマッピングされたボリュームから新しいdefault.conf

version: '3' 

services: 
    web: 
    image: me/web 
    container_name: web 

    nginx: 
    image: me/nginx 
    container_name: nginx 
    ports: 
     - '80:80' 
    volumes: 
     - ../nginx:/etc/myapp/nginx 

私のnginxのコンテナのコピーを

server { 
    listen 80; 
    server_name my.website.com; 

    location/{ 
    proxy_pass http://web/; 
    } 
} 

この設定では、すべて正常に動作します。 docker-composeで開始した後、http://my.website.comに移動し、webコンテナインスタンスに正しくアクセスできます。

しかし、今私は、例えば81として、デフォルト80以外に私のポートを変更したいん:

services: 
    .. 

    nginx: 
    image: me/nginx 
    container_name: nginx 
    ports: 
     - '81:80' 
    .. 

は今、これはもはや機能します。私はhttp://my.website.com:81を訪れるたびに、私は得る:

このサイトに到達することはできません

my.website.comが接続を拒否しました。

ERR_CONNECTION_REFUSED

が、他の奇妙な部分は、私はむしろmy.website.comよりlocalhostを使用する場合、すべてがポート81例にだけで正常に動作していることである:

正しく http://localhost:81作品への移動
server { 
    listen 80; 
    server_name localhost; 

    location/{ 
    proxy_pass http://web/; 
    } 
} 

私はここで間違っていますか?どのように私はlocalhost(私のドメイン)と私のwebコンテナに80以外の別のポートにプロキシ以外のnginxを設定するのですか?ポート81がmy.website.comすなわち上のファイアウォールルールを確認する開いていることを

+0

などの場所にあるポート81は、ファイアウォールのルールがなどの場所にあるmy.website.com'すなわち 'に開いているあなたは確かにあります – keith

+0

@keithうわー、それだった。私はポートを内部でオープンしていましたが、外部ネットワーク層でもポートを開くのを忘れました。脳全体のおなら。お気軽に回答として投稿してください。希望があれば受け入れます。 – kspearrin

+0

OK、私は答えを追加しました:-) – keith

答えて

関連する問題