【发布时间】:2016-08-31 15:57:25
【问题描述】:
在我的项目中,Web 应用程序是使用带有默认 tomcat 服务器的 Spring boot 开发的。 我使用 NGINX 作为负载平衡器,并在 NGINX 配置中配置了我的 spring-boot-web-app,如下所示:
location /spring-boot-web-app {
proxy_pass http://spring-boot-web-app/
}
http {
upstream /spring-boot-web-app {
server <IP_of_spring_boot_app>:<Port_of_spring_boot_app>
}
}
现在让我们将 NGINX IP 和端口分别称为 nginx_ip 和 nginx_port。 我的网络应用程序的工作 URL 也为:http://web_app_ip:web_app_port/rest/echo/hi
上面的 URL 工作正常。但是当我尝试通过 NGINX 访问相同的 URI 时,它会抛出 404。通过 NGINX 使用的 URL 为: http://nginx_ip:nginx_port/spring-boot-web-app/rest/echo/hi
我有什么遗漏吗?
【问题讨论】:
-
你检查过 nginx 日志吗?
-
是的。即使我看到它拦截 URL 的应用程序日志。
-
不知何故,我觉得它更多的是与 CORS 相关的问题。我需要设置任何标题值吗?
-
您可能需要设置proxy_pass_reverse nginx.com/resources/wiki/start/topics/examples/likeapache, stackoverflow.com/questions/12847771/…
-
是 $remote_add 并且 $host 应该是我的网络应用的 IP?
标签: nginx docker spring-boot reverse-proxy proxypass