当前位置: 首页 » 综合知识 » it知识 » 正文

Nginx代理axios请求及注意事项是什么

发布时间:2023-07-14 以下文章来源于网友投稿,内容仅供参考!

1. nginx.conf 配置信息

由于nginx.conf配置信息较多,本篇只关注跟axios和静态资源请求设置,顺便也将常见的一些配置项备注一下。具体设置如下:

# 设定http服务器,利用它的反向代理功能提供负载均衡支持
http {
 #连接超时时间
 keepalive_timeout 120;
 
 #gzip压缩开关及相关配置
 gzip on;
 gzip_min_length 1k;
 gzip_buffers  4 32k;
 gzip_http_version 1.1;
 gzipp_level 2;
 gzip_types  text/plain application/x-javascript text/css application/xml;
 gzip_vary on;
 gzip_disable "msie [1-6].";

 #设定实际的服务器列表 
 upstream zp_server{
 server 127.0.0.1:8089;
 }
 
 #http服务器 
 server {
 #监听80端口
 listen 80
 
 #定义服务名称
 server_name localthost;
 
 #首页
 index index.html
 
 #指向项目根目录
 root d:\project\src\main\webapp;
 
 #编码格式
 charset utf-8;
 
 #代理的路径(和upstream绑定),location 后面设置映射的路径
 location / {
  #代理配置参数
  proxy_connect_timeout 180;
  proxy_send_timeout 180;
  proxy_read_timeout 180;
  proxy_set_header host $host;
  proxy_set_header x-forwarder-for $remote_addr;
  proxy_pass zp_server/;
  
  #跨域相关设置
  add_header 'access-control-allow-origin' '*' always;
  add_header 'access-control-allow-credentials' 'true';
  add_header 'access-control-allow-headers' 'origin, x-requested-with, content-type, accept' always;
  }
  
  #配置静态资源 解决js css文件无法加载无法访问的问题,注意末尾不能有 /
  location ~ .*\.(js|css|jpg|png)$ {
  proxy_pass zp_server;
  } 
 }
}

2. proxy_pass的斜杠问题

nginx的将proxy_pass分为两种类型:

2.1 对于不带uri方式

对于不带uri方式,nginx将会保留location中路径部分,比如:

location /api1/ {
 proxy_pass localhost:8080;
}

在访问localhost/api1/xxx时,会代理到localhost:8080/api1/xxx

2.2 对于带uri方式

对于带uri方式,nginx将使用诸如alias的替换方式对url进行替换,并且这种替换只是字面上的替换,比如:

location /api2/ {
 proxy_pass localhost:8080/;
}

当访问localhost/api2/xxx时,localhost/api2/(注意最后的/)被替换成了localhost:8080/,然后再加上剩下的xxx,于是变成了localhost:8080/xxx。

2.3 总结一下

server {
 listen    80;
 server_name localhost;

 location /api1/ {
  proxy_pass localhost:8080;
 }
 # localhost/api1/xxx -> localhost:8080/api1/xxx


 location /api2/ {
  proxy_pass localhost:8080/;
 }
 # localhost/api2/xxx -> localhost:8080/xxx


 location /api3 {
  proxy_pass localhost:8080;
 }
 # localhost/api3/xxx -> localhost:8080/api3/xxx


 location /api4 {
  proxy_pass localhost:8080/;
 }
 # localhost/api4/xxx -> localhost:8080//xxx,请注意这里的双斜线,好好分析一下。


 location /api5/ {
  proxy_pass localhost:8080/haha;
 }
 # localhost/api5/xxx -> localhost:8080/hahaxxx,请注意这里的haha和xxx之间没有斜杠,分析一下原因。

 location /api6/ {
  proxy_pass localhost:8080/haha/;
 }
 # localhost/api6/xxx -> localhost:8080/haha/xxx

 location /api7 {
  proxy_pass localhost:8080/haha;
 }
 # localhost/api7/xxx -> localhost:8080/haha/xxx

 location /api8 {
  proxy_pass localhost:8080/haha/;
 }
 # localhost/api8/xxx -> localhost:8080/haha//xxx,请注意这里的双斜杠。
}
  • • Linux Ecdsa密钥长度选择有何依据

    在Linux

  • • Linux Khook在内核监控中的应用如何

    Linux

  • • Linux Gsoap是否支持异步通信

    GSOAP是

  • • Linux Coremail如何提升用户体验

    提升Linu

  • • Linux Ecdsa算法有哪些局限性

    ECDSA

  • 哎呀音乐钢琴键盘学习《 钢琴主人训练营》 西瓜学琴
    郭蝈 陪练钢琴 30节课时 考级刚需 让孩子每一次练琴都是高质量的
    30天轻松学会五线谱 流行钢琴自学初级教程 牙牙学琴
    流行爵士钢琴实战技巧VIP课 - 继伟 哎呀音乐
    【海上钢琴师】原版 MT1990钢琴谱
    百首经典流行钢琴实战曲集 - 继伟
    雷费尔德电钢琴重锤88键专业考级儿童初学者数码电子钢琴家用
    小练咖 真人钢琴陪练 1v1服务 2999随时退 1课时50分钟 考级刚需
    雅马哈电钢琴88键重锤CLP735智能数码电子钢琴家用专业初学者考级
    【原装进口】Yamaha/雅马哈钢琴 b121 SC2原声静音钢琴
  • 珠海专业调钢琴
  • 天津宝坻区调钢琴
  • 天津静海区钢琴调音
  • 成都简阳市钢琴调律
  • 大连瓦房店市钢琴调音
  • 眉山调钢琴联系方式
  • 惠州大亚湾钢琴调琴师
  • 长治调琴师
  • 厦门湖里区钢琴调音师
  • 上海普陀区钢琴调音师