Nginx反向代理配置详解:解决跳转404问题
Nginx反向代理配置详解:解决跳转404问题
本篇详细解释以下Nginx location 配置块的作用,该配置用于将特定请求反向代理到本地的7681端口,并分析跳转后出现404错误的可能原因和排查方法:nginxlocation ~ ^/ugreen/v1/ttyd { proxy_pass http://localhost:7681; 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; proxy_read_timeout 86400; proxy_redirect off;}
配置详解
location ~ ^/ugreen/v1/ttyd: 该指令定义了一个location块,使用正则表达式匹配所有以 '/ugreen/v1/ttyd' 开头的请求路径。'~' 符号表示使用正则表达式匹配,'^' 匹配路径开头。-proxy_pass http://localhost:7681: 将匹配到的请求转发到本地地址 'http://localhost:7681'。-proxy_http_version 1.1: 设置代理连接使用HTTP/1.1协议。-proxy_set_header Upgrade $http_upgrade: 将客户端请求头中的 'Upgrade' 字段转发给后端服务器。这在处理WebSocket连接时非常重要。-proxy_set_header Connection 'upgrade': 将客户端请求头中的 'Connection' 字段设置为 'upgrade',用于建立持久连接,例如WebSocket。-proxy_set_header Host $host: 将原始请求头中的 'Host' 字段转发给后端服务器。-proxy_set_header X-Real-IP $remote_addr: 将客户端真实IP地址添加到请求头中传递给后端服务器,用以获取真实用户IP。-proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for: 将客户端真实IP地址添加到 'X-Forwarded-For' 请求头中,用于记录代理链路。-proxy_read_timeout 86400: 设置代理连接的读取超时时间为86400秒。-proxy_redirect off: 关闭Nginx对代理响应的重定向操作。
跳转404错误排查
如果配置上述内容后访问出现404错误,可能是以下原因导致:
- 后端服务未正常运行: 请检查 'localhost:7681' 端口上的服务是否启动且正常运行。2. 请求路径错误: 确认请求路径是否与location块中定义的路径匹配。3. 后端服务未监听对应路径: 确保后端服务监听了 '/ugreen/v1/ttyd' 路径的请求,并配置了相应的处理逻辑。
通过检查上述配置和排查步骤,您可以解决 Nginx 反向代理跳转404错误,并确保您的服务正常运行。
原文地址: https://www.cveoy.top/t/topic/fNHZ 著作权归作者所有。请勿转载和采集!