今天闲来无事,复习一波nginx反向代理。
看下面原理图,就一目了然。其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器 IP地址。
图中,百度服务器就是这个反向代理服务器,后面的这三台机子就是目标服务器了
在nginx 中,通常这样配置,我们可以很轻松地配置出一个反向代理:
server {
listen 80;
server_name www.test.com;
location / {
index index.html index.htm;
proxy_pass http://127.0.0.1:18080;
}
}
本地修改host 文件,增加一行:
127.0.0.1 www.test.com
然后,记得重启nginx,或者重载一下配置。
当浏览器输入 www.test.com,就会反向代理到这个地址:http://127.0.0.1:18080;
接下来,我们尝试使用不同的uri,跳转到不同的代理地址中去,修改配置:
然后访问对应的地址:http://127.0.0.1:9001/hello/
就可以方向代理到http://127.0.0.1:28080
好,就到这里吧,欢迎指正