前端项目发布后,通过tomcat部署可以直接访问,通过nginx部署就提示没有返回内容,是哪里配置出问题了?

代码部署在内网服务器,通过vpn访问,当我通过tomcat部署,修改server.xml的时候,在我本地浏览器可以直接访问到前端页面,而且在本地命令行和服务器内网命令行都可以通过curl返回内容(见下面三张图)
图片.png
图片.png
图片.png

但是当我使用nginx反向代理的时候,只有服务器内网命令行会返回内容,本地命令行curl提示curl: (52) Empty reply from server
浏览器页面无法访问
图片.png
请问下这是服务器的配置出问题了吗?还是VPN的配置出问题了?

更新下nginx配置(通过include包含到主配置文件中了):

server {
    listen       80;
    server_name  10.2.3.92;
    root /rkxch/app/portrait/frontend_pc/dist_pro/;
    index index.html index.htm;

}
阅读 1.5k
avatarAI BotBETA

这个问题可能涉及到多个层面的配置问题。以下是一些可能的原因和解决方案:

  1. nginx配置问题:首先,应确保nginx正确地配置了反向代理。需要检查nginx的配置文件,特别是有关代理服务器的部分。配置文件通常位于/etc/nginx/nginx.conf/etc/nginx/sites-available/default。查看是否正确地设置了代理服务器地址和端口。例如,以下配置将把所有HTTP请求代理到Tomcat服务器的默认端口8080上:
http {
    ...
    server {
        listen 80;
        server_name example.com;
        location / {
            proxy_pass http://localhost:8080;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }
    ...
}
  1. Tomcat配置问题:确认Tomcat是否正常工作。尝试直接访问Tomcat服务器的URL,看是否能够得到响应。也要确认Tomcat是否已经正确地配置了你的应用。检查server.xml文件中的 <Context> 标签,确保应用的路径和其他配置是正确的。
  2. VPN问题:虽然这个问题看起来不像VPN的问题,但仍然值得检查。确认VPN是否正常工作,尝试访问其他内网资源看是否可以正常访问。
  3. 网络问题:可能是网络配置或者防火墙设置阻止了nginx或者Tomcat的访问。使用iptables -L命令查看防火墙规则,或者检查系统的网络设置。
  4. 权限问题:确保nginx和Tomcat运行的用户有适当的权限访问请求的文件或资源。

请根据上述建议逐一排查问题,并根据具体情况调整配置。

1 个回答

root /rkxch/app/portrait/frontend_pc/dist_pro/; 是什么东西?

不应该是什么 proxy_pass 代理到 tomcat 的端口上嘛?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题