I. 概述

其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端。此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。
image.png

II. Nginx配置示例——反向代理

2.1 实现效果

打开浏览器,在浏览器输入地址“http://www.123.com”跳转到web后端服务的主页中。

2.2 准备工作

  1. 在Linux系统中配置Django web服务器,并启动服务,端口为8000
  2. 关闭Linux防火墙或添加对外开放端口号

    1. firewall-cmd --add-port=8000/tcp-permanent # 添加开放端口
    2. firewall-cmd -reload # 重载
    3. firewall-cmd --list-all # 查看开放的端口

    2.3 具体配置

  3. 修改系统的hosts配置文件,添加规则:

    1. ip www.123.com # ip为安装nginx服务的服务器ip地址
  4. 在nginx中进行请求转发配置(反向代理配置)

    1. vim nginx.conf
    1. server {
    2. listen 80;
    3. server_name 192.168.1.114; # 本机ip地址
    4. location / {
    5. root html;
    6. proxy_pass http://127.0.0.1:8000; # web服务器的地址
    7. index index.html index.htm;
    8. }
    9. }
  5. 重载nginx配置

    1. nginx -s reload

    2.4 测试

    在浏览器中输入“http://www.123.com”会返回web服务器的默认页面。