毕业设计用java做网站/国内外十大免费crm软件推荐
文章目录
- Nginx配置正向代理支持HTTP和HTTPS转发
- 安装编译环境和工具
- 安装Nginx和ngx_http_proxy_connect_module模块
- 修改Nginx配置文件
- 启动Nginx
- 查看端口
- 打开防火墙
- 测试代理
Nginx配置正向代理支持HTTP和HTTPS转发
嫌麻烦的朋友,可以用Squid来搭建,参见:在CentOS7上设置Squid HTTP Proxy正向代理
Nginx本身不支持HTTPS正向代理,需要安装ngx_http_proxy_connect_module
模块后才可以支持HTTPS正向代理,否则会遇到HTTP 400
错误。
参考文档:
- https://github.com/chobits/ngx_http_proxy_connect_module
安装编译环境和工具
yum install gcc gcc-c++ autoconf automake -y
yum install pcre pcre-devel -y
yum install openssl openssl-devel -y
yum install patch -y
yum install git -y
yum install net-tools -y
安装Nginx和ngx_http_proxy_connect_module模块
mkdir -p /downloads
cd /downloadsgit clone https://github.com/chobits/ngx_http_proxy_connect_module.gitwget http://nginx.org/download/nginx-1.15.12.tar.gz
tar -xzvf nginx-1.15.12.tar.gz
cd nginx-1.15.12/patch -p1 < /downloads/ngx_http_proxy_connect_module/patch/proxy_connect_rewrite_101504.patch./configure --add-module=/downloads/ngx_http_proxy_connect_modulemake && make install
修改Nginx配置文件
Nginx目录:/usr/local/nginx
修改Nginx目录下conf/nginx.conf
配置文件,在http
中添加以下内容:
server { resolver 114.114.114.114; listen 8080; location / { proxy_pass http://$http_host$request_uri;proxy_set_header HOST $http_host;proxy_buffers 256 4k;proxy_max_temp_file_size 0k; proxy_connect_timeout 30;proxy_send_timeout 60;proxy_read_timeout 60;proxy_next_upstream error timeout invalid_header http_502;}
}server {listen 8443;# dns resolver used by forward proxyingresolver 114.114.114.114;# forward proxy for CONNECT requestproxy_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 requestlocation / {proxy_pass http://$host;proxy_set_header Host $host;}}
启动Nginx
运行./sbin/nginx
启动Nginx。
Nginx命令参考:
# Start Nginx
./sbin/nginx# Reload Nginx configuration
./sbin/nginx -s reload# Stop Nginx
./sbin/nginx -s stop
查看端口
netstat -tnlp | grep 8080
netstat -tnlp | grep 8443
打开防火墙
firewall-cmd --zone=public --add-port=8080/tcp
firewall-cmd --zone=public --add-port=8080/tcp --permanentfirewall-cmd --zone=public --add-port=8443/tcp
firewall-cmd --zone=public --add-port=8443/tcp --permanentfirewall-cmd --reload
测试代理
# Test HTTP proxy
curl --proxy 192.168.87.123:8080 http://www.baidu.com# Test HTTPS proxy
curl --proxy 192.168.87.123:8443 https://www.baidu.com