nginx 代理多個tomcat應用,以及代理springboot應用的坑

在nginx.conf文件server{}中添加下列,記得自行修改location後的路徑名稱

		location /server1 {
            proxy_pass http://127.0.0.1:8080/;
        }
		
		location /server2 {
            proxy_pass http://127.0.0.1:8081/;
        }

添加完後記得重載nginx.conf文件

sudo nginx -s reload

下面有些坑:

注意proxy_pass http://127.0.0.1:8081/後面加上/
代理springboot程序,使用了thymeleaf引擎,注意引入js.css,images時不要用@{},否則會404

下面兩種是錯誤例子

<script th:src="@{static/bootstrap/js/jquery-3.4.1.min.js}"></script>
<script src="/static/bootstrap/js/jquery-3.4.1.min.js"></script>=

正確示範

<script src="static/bootstrap/js/jquery-3.4.1.min.js"></script>=

nginx location proxy_pass 後面的url 加與不加/的區別
建議看看這篇文章NGINX配置之二: nginx location proxy_pass 後面的url 加與不加/的區別. - 九號雲 - 博客園
大佬的結論很簡單 如果訪問http://ip:port/locationName

  • 如果proxy_pass 後面的url末尾帶有/則訪問的是http://ip:port/proxy_pass_url
  • 如果proxy_pass 後面的url末尾沒有/則訪問的是```http://ip:port/locationName/proxy_pass_url``
    區別在與實際訪問的url要不要和location 的名稱相拼接
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章