nginx中web和server两个配置文件,能合并使用一个server-name吗?
来源:12-10 nginx配置域名

crlccc
2024-04-12
尝试了一下,可以实现
server {
listen 80;
server_name 8.134.251.52;
# 静态文件服务
location / {
root /www/wiki/dist;
index index.html;
try_files $uri $uri/ @proxy; # 当文件不存在时,转发到"@proxy"标记的location
}
# WebSocket反向代理
location /ws {
proxy_pass http://localhost:8080;
# 针对WebSocket,需要增加下面的配置
proxy_redirect off;
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-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 代理时长设置600秒,默认60秒,websocket超时会自动断开
proxy_read_timeout 600s;
}
# 使用"@"标记的内部location,处理非WebSocket的反向代理请求
location @proxy {
proxy_pass http://localhost: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;
proxy_read_timeout 600s;
}
}
2回答
-
crlccc
提问者
2024-04-12
server {
listen 80;
server_name 8.134.251.52;
# 静态文件服务
location / {
root /www/wiki/dist;
index index.html;
try_files $uri $uri/ @proxy; # 当文件不存在时,转发到"@proxy"标记的location
}
# WebSocket反向代理
location /ws {
proxy_pass http://localhost:8080;
# 针对WebSocket,需要增加下面的配置
proxy_redirect off;
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-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 代理时长设置600秒,默认60秒,websocket超时会自动断开
proxy_read_timeout 600s;
}
# 使用"@"标记的内部location,处理非WebSocket的反向代理请求
location @proxy {
proxy_pass http://localhost: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;
proxy_read_timeout 600s;
}
}
可以使用
00 -
crlccc
提问者
2024-04-12
尝试了一下,可以使用
server {
listen 80;
server_name 8.134.251.52;
# 静态文件服务
location / {
root /www/wiki/dist;
index index.html;
try_files $uri $uri/ @proxy; # 当文件不存在时,转发到"@proxy"标记的location
}
# WebSocket反向代理
location /ws {
proxy_pass http://localhost:8080;
# 针对WebSocket,需要增加下面的配置
proxy_redirect off;
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-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 代理时长设置600秒,默认60秒,websocket超时会自动断开
proxy_read_timeout 600s;
}
# 使用"@"标记的内部location,处理非WebSocket的反向代理请求
location @proxy {
proxy_pass http://localhost: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;
proxy_read_timeout 600s;
}
}
00
相似问题