Nginx反向代理配置问题:访问mydomain.com/doc出现空白页
问题解决:Nginx反向代理PHP API文档空白页
问题分析
当前访问mydomain.com/doc显示空白,但直接访问111.111.11:8000/doc或mydomain.com:8000/doc正常,核心问题出在Nginx配置的两个关键点:
- 监听端口与访问端口不匹配(配置里listen 81,但默认访问域名用80端口)
proxy_pass路径写法导致后端API的静态资源路径解析错误
修正后的Nginx配置
server { listen 80 default_server; server_name mydomain.com; location /doc { proxy_pass http://0.0.0.0:8000; error_log /var/log/nginx/php-error.log info; proxy_redirect off; 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-Host $server_name; proxy_set_header X-Forwarded-Proto $scheme; } }
关键修改说明
- 监听端口调整:把
listen 81改为listen 80,确保域名默认80端口的请求能被Nginx接收(如果必须用81端口,需确保访问时带:81,比如mydomain.com:81/doc) - proxy_pass路径优化:去掉末尾的
/doc,改为http://0.0.0.0:8000,Nginx会自动把/doc开头的请求完整转发到后端,避免后端返回的静态资源路径(如/css、/js)因代理路径不匹配无法加载 - 新增X-Forwarded-Proto:传递请求协议给后端API,确保文档页面的资源引用路径正确
验证步骤
- 检查Nginx配置语法:
nginx -t - 重启Nginx服务:
systemctl restart nginx - 访问
mydomain.com/doc测试是否正常显示
内容的提问来源于stack exchange,提问作者omie
相关产品推荐
相关产品推荐

