nginx 前端及接口代理配置

以下为总结配置 我这一块配置为了习惯统一化 不管前端还是接口配置 location后面都带上斜杠。

前端代理配置

我比较常用的为alias方式
# 演示root和alias两种配置静态资源的区别
  server {
    listen 80;
    server_name localhost;

    # 用root方式,location中的路径会拼加到root的地址后面
    # 请求路径为:http://localhost:8080/files/index.jpg    实际访问为:/home/files/index.jpg
    location ~^/files/ {
      root /home/;
      index index.html index.htm;
    }
    # 用alias方式,location中的路径不会拼加到alias的地址后面
    # 这请求路径为:http://localhost:8080/files/index.jpg    实际访问为:/home/index.jpg
    location ~^/files/ {
      alias /home/;
      index index.html index.htm;
    }
  }

后端代理配置

以下这种方式我用的比较多
# 请求路径为:http://127.0.0.1:8080/api/getUser   实际代理为:http://127.0.0.1:8000/getUser
    location ^~/api/ {
      proxy_pass http://127.0.0.1:8000/;
      proxy_set_header Host $http_host; #后台可以获取到完整的ip+端口号
      proxy_set_header X-Real-IP $remote_addr; #后台可以获取到用户访问的真实ip地址
    }

参考的相关配置方式

经验分享 程序员 微信小程序 职场和发展