Nginx系列(4) —— 反向代理的配置

2020-11-25 15:07:01 浏览数 (1)

Nginx 配置 —— 反向代理

反向代理相关概念

与反向代理所对应的是正向代理。正向代理中最为常见的例子就是vpn。当我们使用vpn访问其他网页时,我们的ip地址并不会暴露给我们直接连接的网站,而是vpn的代理ip。反向代理与正向代理的差异其实就是,当我们想要访问一个网站时,被访问的服务器的ip不会直接暴露在我们面前,而是反向代理服务器的ip地址。

反向代理

反向代理的配置示例1:

在这里,我们需要在准备一个 tomcat 服务器,tomcat 服务器的地址为 127.0.0.1:8080。 同时也要准备一个 Nginx服务器, Nginx 服务器的域名为 www.123.com. 最终实现效果,当我们在浏览器中访问 www.123.com:80 时会自动切换到 127.0.0.1:8080

代码语言:javascript复制
server {
    listen                 80;
    server_name     www.123.com; # 一般是nginx所在的linux服务器的域名或者ip
    
    location / {
        proxy_pass  http://127.0.0.1:8080;
        index   index.html index.htm index.jsp
    }
}

反向代理的配置示例2:

在现实配置中,Nginx 不可能只反向代理一个 Tomcat 服务器,而是一个服务器集群。现实生活中,不同的请求可能被分发到不同服务器上进行处理。 我们准备两个 Tomcat 服务器,一个在 8081 端口,另一个个在 8002 端口。 使用 nginx 反向代理,根据访问的路径跳转到不同端口的服务中nginx 监听端口为 9001, 最终实现是: 访问 http://127.0.0.1:9001/edu/ 直接跳转到 127.0.0.1:8081 访问 http://127.0.0.1:9001/vod/ 直接跳转到 127.0.0.1:8082

代码语言:javascript复制
server {
    listen                  9001;
    server_name     localhost;
    
    location ~ /edu/ {
        proxy_pass      http://localhost:8001;
    }
    
    location ~ /vod/ {
        proxy_pass      http://localhost:8002;
    }
}

PS: 在修改完相关配置文件后记得重启 Nginx

0 人点赞