nginx代理案例介绍

阅读: 评论:0

nginx代理案例介绍

nginx代理案例介绍

案例一:

实际访问路径 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小时内删除。

标签:案例   nginx
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23