今天闲来无事,复习一波nginx反向代理。

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

    图中,百度服务器就是这个反向代理服务器,后面的这三台机子就是目标服务器了
    image.png

    在nginx 中,通常这样配置,我们可以很轻松地配置出一个反向代理:

    1. server {
    2. listen 80;
    3. server_name www.test.com;
    4. location / {
    5. index index.html index.htm;
    6. proxy_pass http://127.0.0.1:18080;
    7. }
    8. }

    本地修改host 文件,增加一行:

    1. 127.0.0.1 www.test.com

    然后,记得重启nginx,或者重载一下配置。
    当浏览器输入 www.test.com,就会反向代理到这个地址:http://127.0.0.1:18080;

    接下来,我们尝试使用不同的uri,跳转到不同的代理地址中去,修改配置:
    image.png

    然后访问对应的地址:http://127.0.0.1:9001/hello/
    就可以方向代理到http://127.0.0.1:28080
    image.png
    image.png

    好,就到这里吧,欢迎指正