nginx反向代理部署springboot項目報404無法加載靜態資源


問題:nginx反向代理部署springboot項目報404無法加載靜態資源(css,js,jpg,png...)

為什么要用反向代理:springboot默認啟動端口為8080,如果需要通過域名(不加端口號)直接訪問springboot服務就需要nginx配置反向代理到8080端口

nginx配置vhost主機的過程就不在這講了,重點解決反向代理靜態資源無法訪問

nginx反向代理配置

server
    {
        listen 80;
        #listen [::]:80;
        server_name wms.shiyayun.cn;

        location /{
                 #配置訪問的項目路徑(注:反向代理配置)
                 proxy_pass http://127.0.0.1:8080;
                 
                 }
    

靜態資源無法加載導致頁面樣式無法顯示

 靜態資源無法訪問的原因是靜態資源並沒有做反向代理

vhost配置中添加如下配置

     location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            #解決反向代理無法訪問圖片
            proxy_pass http://127.0.0.1:8080;
            proxy_set_header   Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    

            expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
            #解決反向代理無法訪問js,css
            proxy_pass http://127.0.0.1:8080;
            proxy_set_header   Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;

            expires      12h;
        }

服務器重啟nginx服務:

[root@VM_0_2_centos sbin]# cd /usr/local/nginx/sbin/
[root@VM_0_2_centos sbin]# ./nginx -s reload

靜態資源加載成功頁面樣式顯示正常

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM