0

    Nginx如何配置实现反向代理

    2023.05.06 | admin | 228次围观

    文章目录[隐藏]

    反向代理功能是nginx的一个常用的核心功能,我们经常会需要用到反向代理的配置,下面我们来一起看下几种常用的配置场景。

    Nginx目前拥有三个代理模式,分别是基于IP代理、基于域名代理、基于端口代理。

    这里我的nginx服务器部署在虚拟机上nginx配置反向代理做克隆小偷站,其ip为192.168.17.129

    实例演示1

    实现效果:

    这里我们先实现根据访问不同的服务器端口,来代理到不同的站点上。

    我们配置nginx.conf新增如下两个server配置:

    server {
            listen  81;
            server_name     localhost;
            location / {
                proxy_pass http://www.panziye.com;
            }
    }
    server {
            listen  82;
            server_name     localhost;
            location / {
                proxy_pass http://www.baidu.com;
            }
    }
    

    当我当浏览器访问192.168.17.129.100:81就会访问到潘老师的官网,而访问192.168.17.1291.100:82就会访问到百度首页,这就是基于端口的代理。

    演示实例2

    实现效果:

    使用 Nginx 反向代理,根据访问的路径跳转到不同端口的服务中nginx配置反向代理做克隆小偷站,Nginx 监听端口为 9001

    访问直接跳转到 192.168.17.1291:8080

    访问直接跳转到 192.168.17.129:8081

    1)第一步,需要准备两个 tomcat,一个 8080 端口,一个 8081 端口,并准备好测试的页面

    Nginx如何配置实现反向代理

    2)第二步,修改 nginx 的配置文件,在 http 块中配置 server

    server {
        listen       9001;
        server_name  192.168.17.129;
        location ~ /edu/ {
            proxy_pass  http://192.168.17.129:8080
        }
        location ~ /vod/ {
            proxy_pass  http://192.168.17.129:8081
        }
    }
    

    实验结果如图:

    补充:location 指令说明

    该指令用于匹配 URL, 语法如下:

    location [ = | ~ | ~* | ^~] uri {
    }
    

    注意:如果 uri 包含正则表达式,则必须要有 ~ 或者 ~* 标识

    演示实例3

    实现效果:

    实现效果:使用 Nginx 反向代理,访问直接跳转到192.168.17.129:8080

    注意:此处如果要想从跳转到本机指定的ip,需要修改本机的hosts文件。此处略过

    配置代码

    server {
        listen       80;
        server_name  192.168.17.129;
        location / {
            root   html;
            index  index.html index.htm;
            proxy_pass  http://192.168.17.129:8080
        }
    }
    

    如上配置,Nginx监听 80端口,访问域名为(不加端口号时默认为 80端口),故访问该域名时会跳转到 192.168.17.129:8080 路径上。

    此处的意思为:nginx 反向代理服务监听 192.168.17.129的80端口,如果有请求过来,则转到proxy_pass配置的对应服务器上,仅此而已。

    在location下,同时配置root和proxy_pass选项时,两个选项只会二选一执行

    版权声明

    本文仅代表作者观点。
    本文系作者授权发表,未经许可,不得转载。

    发表评论