我在我的debian服务器上使用LEMP堆栈和Node JS。Nginx在端口80上工作,Node JS在8080上工作。我为nodejs应用创建了一个新的子域: cdn.domain.com。目前我只能访问Node JS应用,如cdn.domain.com:8080/。我想要做的是配置Nginx,这样,当我进入cdn.domain.com时,我可以让应用程序在端口80上工作。我认为可以使用nginx上游来完成。但我想不出是怎么回事。
发布于 2017-09-06 13:03:59
就像这样简单,
确保将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";
}
}发布于 2014-07-21 17:20:51
NGINX通过在客户端和后端服务器之间建立通道来支持WebSockets。为了让NGINX从客户端向后端服务器发送升级请求,必须显式设置Upgrade和Connection头部。例如:
# 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;
}
}来源:http://nginx.com/blog/websocket-nginx/
发布于 2016-10-10 22:21:43
简单的是:
server {
listen 80;
server_name p3000;
location / {
proxy_pass http://0.0.0.0:3000;
include /etc/nginx/proxy_params;
}
}https://stackoverflow.com/questions/24861311
复制相似问题