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

有什么我想念的吗?

回答:

这对我有用。你可以试试这个吗?

  1. 运行tomcat

    docker run -d -p 8080:8080 --name=tomcat tomcat:8

  2. 运行nginx

    docker run -d -p 80:80 --link tomcat:tomcat --name=nginx nginx

  3. 进入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;

}

}

  1. 重新启动nginx服务

    nginx -s reload

  2. 从主机浏览器通过nginx访问tomcat。您可能需要将条目添加到/ etc / hosts

    http://subdomain.domain.com

完整的nginx

conf:nginx.conf

以上是 Spring Boot和Nginx集成 的全部内容, 来源链接: utcz.com/qa/417550.html

回到顶部