首页
仓库
文档
nginx手册
Docker手册
workerman
Flask
PHP
python
RabbitMQ
其他
Linux
占位1
占位2
目录
**resolver IP:端口 有效时间** DNS服务器IP地址 端口默认是53 超过有效时间没有传递到目的地的数据包就丢弃。 resolver 114.114.114.114 30s; **resolver_timeout 超时时间** 该指令设置DNS服务器解析超时时间 **proxy_pass 指令** 设置代理服务器的协议和地址 proxy_pass http://$http_host&request_uri; #固定写法 **listen 端口** 监听某个端口 listen 9090; ### http正向代理实例 ``` server { listen 8599; resolver 114.114.114.114; location / { proxy_pass http://$http_host$request_uri; } access_log /www/wwwlogs/zdxl.log; } ``` 用浏览器的设置功能,填写IP和端口 即可实现http的正向代理功能, 通过查询ip地址 访问http://www.ip111.cn/ 发现是代理服务器的IP地址. ##https正向代理 nginx 自带的proxy 也可以实现正向代理功能,但是不支持https ,https需要用ngx_http_proxy_connect_module 模块 (第三方模块) 1,需要源码安装 2,需要全新安装 模块的压缩包 [ngx_http_proxy_connect_module-master.zip](http://doc.tolog.cn/upload/file/ngx_http_proxy_connect_module-master.zip "ngx_http_proxy_connect_module-master.zip") 下载后传到服务器根目录解压 我的目录是/ngx_http_proxy_connect_module-master 补丁文件和版本号对应的文件 ![](/upload/20240123/844d2e9eb71894c9e408472f66b7c807.png) nginx下载页面 http://nginx.org/en/download.html 步骤: ``` wget http://nginx.org/download/nginx-1.22.0.tar.gz tar -xzvf nginx-1.22.0.tar.gz cd nginx-1.22.0 patch -p1 < /ngx_http_proxy_connect_module-master/patch/proxy_connect_rewrite_102101.patch ./configure --add-module=/ngx_http_proxy_connect_module-master make && make install ``` 安装后默认位置是 /usr/local/nginx 建立快捷方式 ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ nginx -t 检查nginx配置是否正确 nginx 启动 ss -ntap | grep nginx 查看nginx是否正确启动 编辑 /usr/local/nginx/conf/nginx.conf 在 http模块内增加配置 ``` server { listen 16661; resolver 114.114.114.114; location / { proxy_pass http://$http_host$request_uri; } access_log /www/wwwlogs/zdxl.log; } server { listen 18881; # dns resolver used by forward proxying resolver 114.114.114.114; # forward proxy for CONNECT request proxy_connect; proxy_connect_allow 443 563; proxy_connect_connect_timeout 10s; proxy_connect_read_timeout 10s; proxy_connect_send_timeout 10s; # forward proxy for non-CONNECT request location / { proxy_pass http://$host; proxy_set_header Host $host; } access_log /www/wwwlogs/zdxl_ssl.log; } ``` nginx -s reload 重启 nginx -s stop 关闭 nginx 启动