Nginx第二个站点块反向代理不生效,访问显示默认欢迎页问题求助
Nginx 多站点配置异常解决方案
- 修正端口配置错误:你当前
domain2.com.conf中proxy_pass指定的端口为3001,与你预期反向代理的localhost:30001端口不匹配,将对应配置行修改为:proxy_pass http://localhost:30001/; - 校验Nginx配置合法性:执行命令
nginx -t,确认返回结果为syntax is ok、test is successful后再执行后续操作。 - 重载Nginx配置使修改生效:执行命令
systemctl reload nginx(Debian/Ubuntu发行版适用,其他发行版可替换为对应Nginx重载命令)。 - 确认软链接配置正确:执行命令
ls -l /etc/nginx/sites-enabled/,检查domain2.com.conf的软链接是否真实指向../sites-available/domain2.com.conf,无路径、文件名拼写错误。 - 排查默认站点抢占问题:检查
/etc/nginx/sites-enabled/目录下是否存在default配置软链接,若存在且其配置的server_name为默认值_,会导致未匹配到其他站点的请求命中默认Nginx页面,确认不需要保留默认站点的话可直接删除该软链接。 - 确认上游服务正常运行:执行命令
ss -tulnp | grep 30001确认你的express服务正在监听30001端口,本地执行curl http://localhost:30001能正常返回业务内容。 - 测试时清理浏览器缓存:上述配置全部确认无误后,清理浏览器缓存或使用无痕模式访问
domain2.com测试,避免浏览器缓存旧的默认页导致结果异常。
内容的提问来源于stack exchange,提问作者Josh Holly
相关产品推荐
相关产品推荐

