web-dev-qa-db-ja.com

dockerコンテナーをnginxポートに転送する

nginxが実行されているサーバーと、そのサーバーをポイントしているドメインがあり、サーバー上にnginxを持つように構成されたCWPがあります。

これで、同じサーバーのポート3000で実行されるDockerコンテナーができました。curl http://localhost:3000のように丸めると、結果が得られます。

私の質問は、サーバーで実行されているドッカーコンテナーにドメインリクエストを転送する方法です。既にいくつかの検索を行っていますが、私の場合、nginxを個別に起動するコンテナーがサーバーにないので、サーバー上のデフォルトのnginx

今問題はどのようにしてサーバーのポート80(すでに私のdomain.comを指している)を私の実行中のDockerコンテナにマッピングすることができるかです???

2
a_m_dev

ホストのNGINXにサーバーブロックを作成する

server {
    listen       80;
    server_name  domain.tld;

    location / {
        proxy_pass http://localhost:3000;
    } 
}
1
AmaChefe

NGINXは、クライアントとバックエンドサーバーの間にトンネルを設定できるようにすることで、WebSocketをサポートします。

# WebSocket proxying
map $http_upgrade $connection_upgrade {
    default         upgrade;
    ''              close;
}


server {
    listen 80;

    # The Host name to respond to
    server_name cdn.domain.com;

    location / {
        # Backend nodejs server
        proxy_pass          http://localhost:3000;
        proxy_http_version  1.1;
        proxy_set_header    Upgrade     $http_upgrade;
        proxy_set_header    Connection  $connection_upgrade;
    }
}
0