• nginx反向代理端口后配置静态资源(页面)


    nginx反向代理端口后配置静态资源(页面)

    模拟场景:

    ​ 在linux系统下部署springboot项目时,由于原有的8080端口被占用,此时使用nginx进行端口的反向代理,将项目的访问端口代理为8081,然后在项目启动时,启动语句添加上--server.port=8081。此时,当我们访问该项目服务时,虽然输入的端口为http://127.0.0.1:8080/,但实际访问的端口链接为http://127.0.0.1:8081/,后台服务能够成功运行。但是,当我们访问服务页面时,问题出现了,很可能出现前端页面无法访问的问题。报错:net::err_connection_reset 200

    原因:

    ​ 出现前端页面找不到静态资源的问题,是由于我们对端口使用nginx进行了反向代理,此时直接访问原来端口时,端口号已经被代理端口取代了,所以找不到原端口下的静态资源。

    解决方案:

    nginx配置文件中,执行下述修改:

    #user  nobody;
    worker_processes  1;
     
    events {
        worker_connections  1024;
    }
     
    http {
        include       mime.types;
        default_type  application/octet-stream;
     
        sendfile        on;
        #tcp_nopush     on;
     
        #keepalive_timeout  0;
        keepalive_timeout  65;
     
        #gzip  on;
        # 后端代理服务器的地址
        upstream xd-project{
                    server 127.0.0.1:8080;
        }
     
        server {
            # 监听的端口
            listen  8081;
        	server_name localhost;
     
            #charset koi8-r;
            #access_log  logs/host.access.log  mai
            # 代理转发'/'后的所有请求
            location / {
                proxy_pass http://xd-project;
                
                proxy_set_header X-Real-IP $remote_addr;
    	        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        	    proxy_set_header Host $http_host;
            	proxy_set_header X-NginX-Proxy true;
        	}
     
     		# 静态资源配置
            location ~ .* {
                proxy_pass http://xd-project;
                proxy_set_header Host $http_host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            }
     
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
        }
        include servers/*;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55

    注:

    上述解决方法中,使用xd-project将后端代理服务器的地址提取到server配置外了,用参数的方式调用。

    location /{}:该方式配置的是/下的所有请求接口

    location ~ .*{}:该方式配置了项目中的所有静态资源

    这两个配置也是该文最重要的地方。

  • 相关阅读:
    漏洞扫描工具的编写
    Vue的生命周期跟我们一样,你知道吗?
    longAdder源码解析
    ubuntu 输入法
    简单的金属探测器电路
    [Linux]如何理解kernel、shell、bash
    PostgreSQL 修改数据库用户的密码
    YOLOV7量化第二步: 模型标定
    .NET餐厅管理系统sql数据帮助类执行SQL返回DataReader数据集、执行SQL语句,返回影响的记录数、执行多条SQL语句,实现数据库事务。
    Mysql进阶1
  • 原文地址:https://blog.csdn.net/xiri_/article/details/125412284