四、nginx正向代理

详细文章内容

一、正向代理

解释:正向代理指的是客户端通过访问目标服务端,再由目标服务端转发流量访问互联网

结构图如下:
四、nginx正向代理_第1张图片
好处:这样做的好处是,当客户端通过服务端访问互联网某个网站时,该网站获得的IP地址服务端的IP,这样可以达到隐藏客户端真实IP的效果

二、服务端配置

注意:nginx默认只能代理HTTP服务,并不能代理HTTPS(因为nginx代理不支持CONNECT(其是使用https的前提))
解释:配置只需配置代理服务器即可,无需配置被代理服务器

参数:

  • proxy_pass:其为被代理服务器地址(示例:proxy_pass http://127.0.0.1$request_url;
  • proxy_set_header:更改Nginx服务器接收到的客户端请求的请求头信息,然后将新的请求头发送给代理的服务器(示例:proxy_set_header name jack;
  • proxy_buffering:是否开启代理服务器的缓冲区(建议:proxy_buffering on;
  • proxy_buffer_size:该指令用来设置从被代理服务器获取的第一部分响应数据的大小(建议:proxy_buffer_size 4 32k;
  • proxy_busy_buffers_size:该指令用来限制同时处于BUSY状态的缓冲总大小(建议:proxy_busy_buffers_size 64k;
  • proxy_temp_file_write_size:用来设置磁盘上缓冲文件的大小(建议:proxy_temp_file_write_size 64k;

配置(此时只支持http):

server {
        listen 12345;
        resolver 114.114.114.114; # dns解析服务器
        location /{
              proxy_pass $scheme://$host$request_uri; #proxy_pass 用来要代理的网站,
              #$scheme是客户端请求的协议(如http);
              #$host是客户端请求的域名(如baidu.com);
              #$request_uri是客户端访问的url地址(如/baidu?s=12345)。
              #他们拼接成就是http://baidu.com/baidu?s=12345
        }
    }

配置(支持https)(需自行安装第三方模块:流程):

server {
        listen 12345;
        resolver 114.114.114.114; 
        proxy_connect;# 表示启用nginx代理CONNECT(也就能使用https)
        proxy_connect_allow            443;# CONNECT可代理的端口(80默认nginx就可以代理,这里配置其它端口)
        proxy_connect_connect_timeout  10s;# 设置与被代理服务器建立超时的时间
     
        access_log  /var/log/nginx/proxy/access.log;
        error_log   /var/log/nginx/proxy/error.log;
        location /{
              proxy_pass $scheme://$host$request_uri;
        }
    }

三、客户端配置

解释:window10在如下位置配置即可,需要填上nginx的ip地址与其打开的端口号
四、nginx正向代理_第2张图片
详细文章内容

你可能感兴趣的:(#,nginx服务器,nginx,服务器,网络)