Code前端首页关于Code前端联系我们

Nginx正向、反向代理与vpn

terry 2年前 (2023-09-28) 阅读数 67 #未命名
Nginx 转发、反向代理和 VPN 负载均衡器、邮件服务器等。 。 Σ(●ΦДΦ●) 这个运算是不是很眼熟?是的,这就是您正在使用的 VPN。大天朝的那堵墙,墙内的人想出去,墙外的人想进去。防火墙之父曾开通新浪微博,但3小时内就有数万人留言批评(●`Д´●)ツ┏━┓,他的微博随即被关闭。 Nginx正向、反向代理与vpn正向代理图

反向代理

客户端向反向代理服务器发送请求,反向代理服务器将请求发送到内网服务器,隐藏内部服务器的IP。本文主要讲的是配置反向代理。为什么不谈谈转发服务器呢?大家都很感兴趣!因为还不想在办公室喝茶,_(:зゝ∠)_Nginx正向、反向代理与vpn反向代理

Nginx的位置匹配规则

Nginx安装目录的conf文件夹里有nginx .conf文件,我们在nginx.conf文件中声明反向代理位置配置规则

位置配置规则分为四个级别:

1.最高优先级:完全匹配 =/xxx

2。第二优先级:^~ /xxx,代表xxx

3的路径。第三优先级:正则表达式,如~/\w代表匹配数字、字母和下划线

4。最弱优先级:/,所有以/开头的路径

    server {
        listen       80;
        server_name  localhost;
        
        // 最优先级
        location =/first {
            proxy_pass http://127.0.0.1:8081 ;
        }
        //第二优先级
        location ^~ /first2 {
            proxy_pass http://127.0.0.1:8082 ;
        }
        //第三优先级
        location ~ /[a-z] {
            proxy_pass http://127.0.0.1:8083 ;
        }
        location ~ /\w {
            proxy_pass http://127.0.0.1:8084 ;
        }
        //最弱的优先级
        location / {
            proxy_pass http://127.0.0.1:8080 ;
        }

根据上面的位置匹配规则,

如果先输入http://localhost/,由于完全匹配,会去http:// /127.0.0.1:8081/first

如果您输入 http://localhost/first2 或 http://localhost/first2123 它将转到 http://127.0.0.1:8082/first2 或 http://127.0 .0.1: 8082/first2123

如果输入http://localhost/second,它将重定向到http://127.0.0.1:8083/second。因为如果匹配规则级别相同,则匹配级别最高的优先。但是,如果匹配级别相同,则使用匹配级别最高的匹配级别。以上规则为准。

如果要反向代理,将http://localhost/first直接转换为proxy_pass http://127.0.0.1:8081,而不在后面添加/first,那么可以进行如下配置方式:

    server {
        listen       80;
        server_name  localhost;
        
        // 最优先级
        location =/first/ {
            proxy_pass http://127.0.0.1:8081/;
        }

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门