Nginx正向、反向代理与vpn

2023年 7月 10日 62.4k 0

什么是Nginx?

Nginx是俄罗斯程序员Igor Sysoev开发的轻量级Http服务器

Nginx有什么用

正向代理、反向代理、web服务器、负载均衡器、邮件服务器等

正向代理与vpn

客户端安装正向代理软件,客户端发送请求到代理服务器,再由代理服务器去访问目标网站,隐藏自己真实的ip。∑(●ΦДΦ●)这个操作是不是很眼熟,没错这就是你们用的vpn。大天朝的那个墙啊,墙内的人想出去,墙外的人想进来。防火墙之父,曾经开通新浪微博,结果3小时内,上万人留言过来骂(●`Д´●)ツ┏━┓,直接把他的微博骂关闭了。

Nginx正向、反向代理与vpn正向代理图

反向代理

客户端发送请求到反向代理服务器,反向代理服务器再将请求转发给内部网络的服务器,隐藏的是内部服务器的ip。这篇文章主要讲反向代理的配置,啥,你说为什么不讲正向服务器,大家都很感兴趣!因为我还不想进局子里喝茶,_(:зゝ∠)_

Nginx正向、反向代理与vpn反向代理

Nginx的Location匹配规则

在Nginx安装目录conf文件夹下,有nginx.conf文件,下面来讲解一下nginx.conf文件中的反向代理Location配置规则

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

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 ;
        }

按照上面的Location匹配规则,

如果输入http://localhost/first,因为精准匹配,所以会转到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/;
        }

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论