Nginx反向代理

2022-08-24 11:07:32 浏览数 (1)

Nginx 的其中一个用途是做 HTTP 反向代理,下面简单介绍 Nginx 作为反向代理服务器的方法。

代理

代理服务器顾名思义,客户机在向目的主机发送请求的时候,不会直接发送,而是先发送给代理服务器,代理服务器接受客户机请求之后,再向之际发出。代理服务器同样可以接收主机返回的数据,存放在代理服务器的硬盘中,再发给客户机。核心是转发

反向代理

正向代理代理客户端,反向代理代理服务器。 正向代理,架设在客户机与目标主机之间,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中。


正向代理,架设在客户机与目标主机之间,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中。

对于反向代理,代理服务器站在服务器一侧,由服务器方运维人员管理,在客户端看来,代理服务器就是真实服务器,从而可以隐藏真实服务器。

Nginx

Nginx作为近年来较火的反向代理服务器,安装在目的主机端,主要用于转发客户机请求,后台有多个http服务器提供服务,nginx的功能就是把请求转发给后面的服务器,决定哪台目标主机来处理当前请求。

示例

使用 nginx 反向代理 www.123.com 直接跳转到127.0.0.1:8080

  1. 启动一个 tomcat,浏览器地址栏输入 127.0.0.1:8080,出现如下界面
  1. 通过修改本地 host 文件,将 www.123.com 映射到 127.0.0.1
代码语言:javascript复制
127.0.0.1 www.123.com 

配置完成之后,我们便可以通过 www.123.com:8080 访问到第一步出现的 Tomcat初始界面。

那么如何只需要输入 www.123.com 便可以跳转到 Tomcat初始界面呢?便用到 nginx的反向代理。

  1. 在 nginx.conf 配置文件中增加如下配置:
代码语言:javascript复制
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 结果如下:

  1. 总结 其实这里更贴切的说是通过nginx代理端口,原先访问的是8080端口,通过nginx代理之后,通过80端口就可以访问了。 我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=5rq8lfk58flb

0 人点赞