1. Maklumat konfigurasi nginx.conf
Memandangkan nginx.conf mempunyai banyak maklumat konfigurasi, artikel ini hanya memfokuskan pada tetapan permintaan sumber statik dan aksios, dan akan juga meliputi biasa Nota beberapa item konfigurasi. Tetapan khusus adalah seperti berikut:
# 设定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 Masalah slash proxy_pass
nginx membahagikan proxy_pass kepada dua jenis:
2.1 Untuk kaedah tanpa uri
location /api1/ { proxy_pass http://localhost:8080; }
2.2 Untuk kaedah uri
location /api2/ { proxy_pass http://localhost:8080/; }
2.3 Ringkasan
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,请注意这里的双斜杠。 }
Atas ialah kandungan terperinci Apakah permintaan dan langkah berjaga-jaga axios proksi Nginx?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!