我对nginx完全陌生。
我想转发两个子域到我的apache tomcat服务器中的两个应用程序。
当我通过互联网search,我发现重写做转发,但我看不到转发。 正如我从日志中看到的,它陷入了一个无限循环。
这是我的服务器configuration
http { upstream tomcat { server tomcat.ip.address:8080; } server { listen 80; server_name sub1.domain.com; location / { proxy_pass http://tomcat/app1 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_redirect http://tomcat/app1 http://sub1.domain.com; proxy_buffering off; proxy_store off; } } server { listen 80; server_name sub2.domain.com; location / { proxy_pass http://tomcat/demo; 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_redirect http://tomcat/demo http://sub2.domain.com; proxy_buffering off; proxy_store off; } } }
每当我调用sub1.domain.com或sub2.domain.com,我得到的消息,有一个redirect循环问题,它是无效的?
那么,我该如何解决这个问题呢?
这是正确的做法。 希望这会有所帮助:
https://wiki.duraspace.org/display/DSPACE/NginX+Tomcat+Proxying
我会试试这个:
http{ upstream tomcat { tomcat.ip:8080; } server { listen 80; server_name subdomain1.domain.com; location / { proxy_pass http://tomcat/app1; } } server { listen 80; server_name subdomain2.domain.com; location / { proxy_pass http://tomcat/app2; } } ....
看看nginx文档 。