1. Informations de configuration de nginx.conf
Étant donné que nginx.conf contient de nombreuses informations de configuration, cet article se concentre uniquement sur les paramètres axios et de demande de ressources statiques, et note également certains éléments de configuration courants. Les paramètres spécifiques sont les suivants :
# 设定http服务器,利用它的反向代理功能提供负载均衡支持 http { #连接超时时间 keepalive_timeout 120; #gzip压缩开关及相关配置 gzip on; gzip_min_length 1k; gzip_buffers 4 32k; gzip_http_version 1.1; gzip_comp_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 http://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 http://zp_server; } } }
2. Le problème de barre oblique de proxy_pass
nginx divise proxy_pass en deux types :
L'un contient uniquement l'adresse IP et le numéro de port (le / après le port est également inclus ) Non, une attention particulière doit être portée ici), comme proxy_pass http://localhost:8080, cette méthode est appelée méthode sans uri
L'autre a d'autres chemins après le numéro de port, dont un seul ; / , tel que proxy_pass http://localhost:8080/, et d'autres chemins, tels que proxy_pass http://localhost:8080/abc.
2.1 Pour la méthode sans uri
Pour la méthode sans uri, nginx conservera la partie chemin à l'emplacement, tel que :
location /api1/ { proxy_pass http://localhost:8080; }
Lors de l'accès à http://localhost/api1/xxx, il va proxy Allez sur http://localhost:8080/api1/xxx
2.2 Pour la méthode uri
Pour la méthode uri, nginx utilisera des méthodes de substitution telles que l'alias pour remplacer l'url, et cette substitution est uniquement Remplacement littéral, par exemple :
location /api2/ { proxy_pass http://localhost:8080/; }
Lors de l'accès à http://localhost/api2/xxx, http://localhost/api2/ (notez le / à la fin) est remplacé par http://localhost:8080/, et puis ajouté. Le xxx restant est téléchargé, il devient donc http://localhost:8080/xxx.
Résumé 2.3
server { listen 80; server_name localhost; location /api1/ { proxy_pass http://localhost:8080; } # http://localhost/api1/xxx -> http://localhost:8080/api1/xxx location /api2/ { proxy_pass http://localhost:8080/; } # http://localhost/api2/xxx -> http://localhost:8080/xxx location /api3 { proxy_pass http://localhost:8080; } # http://localhost/api3/xxx -> http://localhost:8080/api3/xxx location /api4 { proxy_pass http://localhost:8080/; } # http://localhost/api4/xxx -> http://localhost:8080//xxx,请注意这里的双斜线,好好分析一下。 location /api5/ { proxy_pass http://localhost:8080/haha; } # http://localhost/api5/xxx -> http://localhost:8080/hahaxxx,请注意这里的haha和xxx之间没有斜杠,分析一下原因。 location /api6/ { proxy_pass http://localhost:8080/haha/; } # http://localhost/api6/xxx -> http://localhost:8080/haha/xxx location /api7 { proxy_pass http://localhost:8080/haha; } # http://localhost/api7/xxx -> http://localhost:8080/haha/xxx location /api8 { proxy_pass http://localhost:8080/haha/; } # http://localhost/api8/xxx -> http://localhost:8080/haha//xxx,请注意这里的双斜杠。 }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!