案例一:
实际访问路径 192.168.1.102:18956/test 经代理后:
server {
listen 18956;
server_name
charset utf-8;
location ^~/test/ {
proxy_pass server-proxy;
proxy_connect_timeout 60s;
proxy_read_timeout 60s;
proxy_send_timeout 60s;
proxy_redirect off;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
upstream server-proxy{
server 10.110.4.66:9999; // 转发路径 10.110.4.66:9999/test
keepalive 200;
}
案例二:
实际访问路径: :30109/dev-api/code
需求是剔除原路径中的dev-api ,然后实现代理转发,如下:
server {
listen 443 ssl; // 30109 是443 映射出去的端口
server_name www.haole;
ssl_certificate /web/certs/www.haole.pem;
ssl_certificate_key /web/certs/www.haole.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location /dev-api {
proxy_set_header X-Real-IP $remote_addr; # 存放用户的真实ip
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass 127.0.0.1:15000; // 代理后: 127.0.0.1:15000/code
rewrite "^/dev-api/(.*)$" /$1 break;
}
}
案例三:
实际访问路径: 192.168.1.102:18956/test/upload ,代理转发后
server {
listen 18956;
server_name
charset utf-8;
location /test {
proxy_pass 127.0.0.1:19001; // 代理后: 127.0.0.1:19001/test/upload
proxy_connect_timeout 60s;
proxy_read_timeout 60s;
proxy_send_timeout 60s;
proxy_redirect off;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
location 正则表达式
1、“^~”,只匹配以 /abc/开头且区分大小写
location ^~/abc/ {
default_type text/plain;
return 200 "access success";
}
如:152.136.36.164/abc/ede 可访问
152.136.36.164/Abc/ede 不可访问
152.136.36.164/abcdef/hiq 不可访问
152.136.36.164/abc?p=we 不可访问
2、“~”,大小写敏感,访问路劲中包含 /abc/即可
location ~/abc/ {
default_type text/plain;
return 200 "access success";
}
如:152.136.36.164/sdf/abc/sdf 可访问
152.136.36.164/abcdef/sdf 不可访问
152.136.36.164/Abc/sdf 不可访问
3、“~*”,大小写忽略,访问路劲中包含 /abc/即可
location ~*/abc/ {
default_type text/plain;
return 200 "access success";
}
如:152.136.36.164/Abc/sdf 可访问
4、不加任何规则时,默认是大小写敏感,前缀匹配,相当于加了“~”与“^~”
location /abc/ {
default_type text/plain;
return 200 "access success";
}
如:152.136.36.164/abc/def 可以访问
152.136.36.164/def/abc 不可访问
152.136.36.164/Abc/def 不可访问
5、不匹配正则表达式,匹配以 /abc开头的路劲,大小写敏感
location ^~/abc {
default_type text/plain;
return 200 "access success";
}
如:152.136.36.164/abc 可访问
152.136.36.164/sddd/abc 不可访问
152.136.36.164/abc?p=sdf 可访问
152.136.36.164/abcsdfds 可访问
nginx 静态资源优化通用配置如下:
sendfile on;
tcp_nopush on;
tcp_nodelay on;
本文发布于:2024-02-02 03:31:37,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170681690941094.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |