IT-Crowd

问题:nginx反向代理部署springboot项目报404无法加载静态资源(css,js,jpg,png...)

springboot默认启动端口为8080,如果需要通过域名(不加端口号)直接访问springboot服务就需要nginx配置反向代理到8080端口

nginx配置host主机的过程就不在这讲了,重点解决反向代理静态资源无法访问

nginx反向代理配置

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

        location /{
                 #配置访问的项目路径(注:反向代理配置)
                 proxy_pass http://127.0.0.1:8080;
                 
                 }
    

静态资源无法加载导致页面样式无法显示

 静态资源无法访问的原因是静态资源并没有做反向代理

host配置中添加如下配置

     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

静态资源加载成功页面样式显示正常

 

相关文章: