反向代理和正向代理的区别就是:正向代理代理客户端,反向代理代理服务器。反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。
为了更加深入地理解Nginx的反向代理,我们来看一个实例:使用 nginx 反向代理 www.123.com 直接跳转到127.0.0.1:8080
1.启动一个 tomcat,浏览器地址栏输入 127.0.0.1:8080,出现如下界面
2.通过修改本地 host 文件,将 www.123.com 映射到 127.0.0.1
127.0.0.1 www.123.com
将上面代码添加到 Windows 的host 文件中;
配置完成之后,我们便可以通过 www.123.com:8080 访问到第一步出现的 Tomcat初始界面。
那么如何只需要输入 www.123.com 便可以跳转到 Tomcat初始界面呢?便用到 nginx的反向代理。
3.在 nginx.conf 配置文件中增加如下配置:
server {
listen 80;
server_name www.123.com;
location / {
proxy_pass http://127.0.0.1:8080;
index index.html index.htm index.jsp;
}
}
如上配置,我们监听80端口,访问域名为www.123.com,不加端口号时默认为80端口,故访问该域名时会跳转到127.0.0.1:8080路径上。
我们在浏览器端输入 www.123.com 结果。
其实这里更贴切的说是通过nginx代理端口,原先访问的是8080端口,通过nginx代理之后,通过80端口就可以访问了。Nginx反向代理算是Nginx的一个很重要的机制,因此,我们必须要理解并掌握它的使用。
代码小兵86504-19 19:55
代码小兵49806-21 15:40
代码小兵69607-21 11:32
代码小兵87207-21 12:51