LEMPスタックを使用しており、debianサーバーでNode JS。ポート80で動作するNginx。8080でNode JS。新しいサブドメイン:cdn。 nodejsアプリのdomain.com。現在、Node cdn.domain.com:8080/のようなJSアプリケーションのみにアクセスできます。入力したときにNginxを構成することです。 cdn.domain.comにアクセスすると、ポート80でアプリを動作させることができます。
NGINXは、クライアントとバックエンドサーバーの間にトンネルを設定できるようにすることで、WebSocketをサポートします。 NGINXがクライアントからバックエンドサーバーにアップグレードリクエストを送信するには、アップグレードヘッダーと接続ヘッダーを明示的に設定する必要があります。例えば:
# 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://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}
このように簡単です、
example.comをドメイン(またはIP)に、8080をNode.jsアプリケーションポートに必ず変更してください。
server {
listen 80;
server_name example.com;
location / {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_Host;
proxy_pass "http://127.0.0.1:8080";
}
}
ソース: https://eladnava.com/binding-nodejs-port-80-using-nginx/
これはあなたがこれを達成する方法です。
upstream {
nodeapp 127.0.0.1:8080;
}
server {
listen 80;
# The Host name to respond to
server_name cdn.domain.com;
location /(.*) {
proxy_pass http://nodeapp/$1$is_args$args;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $Host;
proxy_set_header X-Real-Port $server_port;
proxy_set_header X-Real-Scheme $scheme;
}
}
この構成を使用して、複数のNodeプロセスの負荷分散を行うこともできます。
upstream {
nodeapp 127.0.0.1:8081;
nodeapp 127.0.0.1:8082;
nodeapp 127.0.0.1:8083;
}
別のプロセスでポート8081、8082、8083でノードサーバーを実行している場所。 Nginxは、これらのサーバープロセス間でトラフィックを簡単に負荷分散します。
シンプルです:
server {
listen 80;
server_name p3000;
location / {
proxy_pass http://0.0.0.0:3000;
include /etc/nginx/proxy_params;
}
}
アップストリームを定義して、proxy_passで使用できます
http://rohanambasta.blogspot.com/2016/02/redirect-nginx-request-to-upstream.html
server {
listen 8082;
location ~ /(.*) {
proxy_pass test_server;
proxy_set_header Host $Host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
}
}
upstream test_server
{
server test-server:8989
}
server {
listen 80;
server_name example.com;
location / {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_Host;
proxy_pass "http://127.0.0.1:8080";
} }
Sudo vi /etc/nginx/sites-available/default
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _ your_domain;
location /health {
access_log off;
return 200 "healthy\n";
}
location / {
proxy_pass http://localhost:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $Host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_cache_bypass $http_upgrade;
}
}
これは私のために働いた:
server {
listen 80;
server_name example.com www.example.com;
location / {
proxy_pass http://127.0.0.1:8080/;
proxy_set_header Host $Host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
うまくいかない場合は、Sudo tail -f /var/log/nginx/error.log