Spring Boot和Nginx集成
在我的项目中,Web应用程序是使用Spring
Boot和默认的tomcat服务器开发的。我正在使用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和端口分别为 和 。我的Web应用程序的有效URL也为:
上面的URL可以正常工作。但是,当我尝试通过NGINX击中相同的URI时,它会抛出404。通过NGINX使用的URL为: http://
nginx_ip:nginx_port / spring-boot-web-app / rest / echo /
hi
有什么我想念的吗?
回答:
这对我有用。你可以试试这个吗?
运行tomcat
docker run -d -p 8080:8080 --name=tomcat tomcat:8
运行nginx
docker run -d -p 80:80 --link tomcat:tomcat --name=nginx nginx
进入nginx容器并更新conf
docker exec -it nginx bash
server { listen 80 default_server;
server_name subdomain.domain.com;
location / {
proxy_pass http://tomcat:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
重新启动nginx服务
nginx -s reload
从主机浏览器通过nginx访问tomcat。您可能需要将条目添加到/ etc / hosts
http://subdomain.domain.com
完整的nginx
conf:nginx.conf
以上是 Spring Boot和Nginx集成 的全部内容, 来源链接: utcz.com/qa/417550.html