关于Nginx 转发失败问题
已经解决了,只要在域名和路径后面多加一个横杠
location /ws/ {
proxy_pass http://127.0.0.1:3607/;
}
写了两个服务,一个接口一个webSocket,然后使用nginx转发端口的时候
只要location 带上路径 如 /api ,/ws(带上路径都无法访问),但是 location / 这样就能成功转发,是什么原因呢大牛们?
server
{
listen 80;
listen 443 ssl http2;
server_name test.com;
index index.html index.htm default.htm default.html;
#root /www/wwwroot/server;
#ERROR-PAGE-START 错误页相关配置
#error_page 404 /404.html;
#error_page 502 /502.html;
#ERROR-PAGE-END
#REWRITE-START 伪静态相关配置
include /www/server/panel/vhost/rewrite/node_server.conf;
#REWRITE-END
#禁止访问的文件或目录
# location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md|package.json|package-lock.json|\.env) {
# return 404;
# }
#一键申请SSL证书验证目录相关设置
location /.well-known/ {
root /www/wwwroot/server;
}
#禁止在证书验证目录放入敏感文件
if ( $uri ~ "^/\.well-known/.*\.(php|jsp|py|js|css|lua|ts|go|zip|tar\.gz|rar|7z|sql|bak)$" ) {
return 403;
}
# HTTP反向代理相关配置开始 >>>
location ~ /purge(/.*) {
proxy_cache_purge cache_one $host$request_uri$is_args$args;
}
location /api {
proxy_pass http://127.0.0.1:8202;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
add_header X-Cache $upstream_cache_status;
proxy_set_header X-Host $host:$server_port;
proxy_set_header X-Scheme $scheme;
proxy_connect_timeout 30s;
proxy_read_timeout 86400s;
proxy_send_timeout 30s;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location /ws {
proxy_pass http://127.0.0.1:3607;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
add_header X-Cache $upstream_cache_status;
proxy_set_header X-Host $host:$server_port;
proxy_set_header X-Scheme $scheme;
proxy_connect_timeout 30s;
proxy_read_timeout 86400s;
proxy_send_timeout 30s;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
# HTTP反向代理相关配置结束 <<<
access_log /www/wwwlogs/server.log;
error_log /www/wwwlogs/server.error.log;
}