nginxが実行されているサーバーと、そのサーバーをポイントしているドメインがあり、サーバー上にnginxを持つように構成されたCWPがあります。
これで、同じサーバーのポート3000で実行されるDockerコンテナーができました。curl http://localhost:3000
のように丸めると、結果が得られます。
私の質問は、サーバーで実行されているドッカーコンテナーにドメインリクエストを転送する方法です。既にいくつかの検索を行っていますが、私の場合、nginxを個別に起動するコンテナーがサーバーにないので、サーバー上のデフォルトのnginx
今問題はどのようにしてサーバーのポート80(すでに私のdomain.comを指している)を私の実行中のDockerコンテナにマッピングすることができるかです???
ホストのNGINXにサーバーブロックを作成する
server {
listen 80;
server_name domain.tld;
location / {
proxy_pass http://localhost:3000;
}
}
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;
}
}