Nginx反向代理

本是古典 何须时尚 2022-09-10 07:19 401阅读 0赞

反向代理

概念

反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

反向代理图

watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA4pmb6JaE5oOF55ee5a2Q4pmb_size_20_color_FFFFFF_t_70_g_se_x_16

场景:

  1. 三台tomcat服务器组成的集群是不对外暴露IP的,只对内暴露IP。那么所搭建的nginx必须跟集群在一个局域网内且nginx对外暴露公网IP

这样客户端可通过nginx对外的公网IP访问nginx,nginx收到请求后,会基于负载均衡策略,将客户端请求转发至某一台tomcat服务器上,并获取服务器响应,进而响应给客户端。

反向代理的本质就是代理服务器。那么与之相对的正向代理—-代理客户端

正向代理图:

watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA4pmb6JaE5oOF55ee5a2Q4pmb_size_20_color_FFFFFF_t_70_g_se_x_16 1

可能对正向代理还是没理解的,那直接举一个例子:

三台客户端跟服务器不是同一个地方的。也就是说IP不通,三台客户端属于A公司,服务器属于B公司。我们实际工作中,A公司的电脑是通过VPN连接B公司的服务器。VPN就是一个代理服务器。把A公司的IP请求转换成B公司的请求地址,这样就可以顺利访问。

反向代理配置

nginx.config

server {

  1. listen 80;
  2. server\_name **www.aaa.com**; \#\#\# nginx对外暴露的域名或IP
  3. location / \{
  4. proxy\_pass **[https://www.bbb.com/][https_www.bbb.com]**; \#\#\# nginx转发的域名或IP
  5. index index.html index.htm;
  6. \}
  7. \}

host文件配置DNS域名

127.0.0.1 www.aaa.com

启动nginx后,地址栏访问 www.aaa.com,nginx会转发https://www.bbb.com/

还有一种反向代理的配置方式,实际上是基于nginx负载均衡的配置方式

upstream backserver{

  1. server **[https://www.bbb.com/ ][https_www.bbb.com]** \#\#\# nginx转发的域名或IP

}

server {

  1. listen 80;
  2. server\_name **www.aaa.com**; \#\#\# nginx对外暴露的域名或IP
  3. location / \{
  4. proxy\_pass **[htts://][https_www.bbb.com]** **backserver**;
  5. index index.html index.htm;
  6. \}
  7. \}

反向代理最直观的作用之一就是:不暴露真实的服务器IP地址

发表评论

表情:
评论列表 (有 0 条评论,401人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Nginx反向代理

    什么是反向代理? 通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服

    相关 Nginx反向代理

    Nginx 反向代理 反向代理概述 反向代理是指以代理服务器来接受Internet上的连接请求,然后将请求转发至内部网络上的服务器,并将从服务器上得到的结果返回给I

    相关 nginx 反向代理

    1、反向代理     nginx反向代理的指令不需要新增额外的模块,默认自带proxy\_pass指令,只需要修改配置文件就可以实现反向代理。     配置前的准备工作