繁体   English   中英

Nginx反向代理配置问题

[英]Nginx reverse proxy configuration issue

我已经在数字海洋飞沫的tomcat上部署了一个webapp

war文件的结构为(Servelet是webapp名称)

Servelet
    ---- WEB-INF/classes/folder/FileXyz.class

现在在我的本地PC上,当我想访问它时,我会执行以下操作:

localhost:8080/Servelet/FileXyz

我在数字海洋上的tomcat上部署了相同的战争,但是这次连接了一个域:server.foodini.co.in

现在我可以使用以下命令访问相同的文件:

server.foodini.co.in:8080/Servelet/FileXyz

这很好。

现在我想在前面有一个Nginx,它会监听80端口并通过反向代理将所有请求转发到tomcat Webapp

我在服务器配置下的/ etc / nginx / sites-available下编辑了默认文件,我添加了:

  server_name server.foodini.co.in

  root /opt/tomcat/webapps/Servelet

  location / {
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Server $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://127.0.0.1:8080/;
  }

现在当我做

server.foodini.co.in

它将按预期方式打开tomcat默认页面

server.foodini.co.in/Servelet/FileXyz

(adding the port 8080 again works)

给出404和其他所有路径相同的404,有人可以指导我吗?

在将请求传递到代理服务器时,您需要设置主机头,否则nginx将使用变量$ proxy_host覆盖主机头,在这种情况下为127.0.0.1:8080并且您希望它为server.foodini.co.in:8080 因此,只需将其添加到location /块中:

proxy_set_header Host $host:$proxy_port;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM