发布网友 发布时间:2024-09-27 09:02
共1个回答
热心网友 时间:2024-10-21 19:13
通过Nginx做反向代理相信大家都耳熟能详了,但是使用nginx做正向代理你玩过吗?
直接上结论,为什么使用nginx做正向代理。
nginx做正向代理的好处基于域名做白名单
不用配置ssl证书!!!不用配置ssl证书!!!不用配置ssl证书!!!
初始化运行环境安装必要的依赖组件,直接上脚本
yum-yupdateyum-yinstallg*crepcre-develzlibzlib-developensslopenssl-develpatchgit下载nginx支持代理的模块mkdir/usr/local/nginx_molescd/usr/local/nginx_molesgitclonehttps://github.com/chobits/ngx_http_proxy_connect_mole.git安装nginx下载并解压wgethttp://nginx.org/download/nginx-1.19.8.tar.gztar-zxvfnginx-1.19.8.tar.gzcdnginx-1.19.8/安装补丁patch-p1</usr/local/nginx_moles/ngx_http_proxy_connect_mole/patch/proxy_connect_rewrite_1018.patch创建运行nginx用户&用户组groupaddwwwuseradd-gwwwwww开始安装nginx./configure\--user=www\--group=www\--prefix=/usr/local/nginx\--with-http_ssl_mole\--with-http_stub_status_mole\--with-http_realip_mole\--with-threads\--add-mole=/usr/local/nginx_moles/ngx_http_proxy_connect_molemakemakeinstall到此,nginx已经安装完成
校验安装cd/usr/local/nginx//检查配置文件./sbin/nginx-t启动nginxcd/usr/local/nginx./sbin/nginxps-ef|grepnginx//检查是否启动成功./sbin/nginx-sstop//停止./sbin/nginx-sreload//重新启动关于如何加入开机启动等自行搜索,习惯了在目录下操作,这里就不展开了。
配置nginx正向代理userwww;worker_processes4;events{worker_connections1024;}http{includemime.types;default_typeapplication/octet-stream;server_names_hash_bucket_size128;client_max_body_size20m;client_body_buffer_size256k;client_header_buffer_size32k;large_client_header_buffers432k;sendfileon;tcp_nopushon;keepalive_timeout60;tcp_nodelayon;server{listen9080;resolver114.114.114.114valid=60sipv6=off;resolver_timeout5s;proxy_connect;proxy_connect_connect_timeout10s;proxy_connect_read_timeout10s;proxy_connect_send_timeout10s;location/{set$forbidenY;if($host="www.baidu.com"){set$forbidenN;}if($forbiden=Y){return403;}proxy_set_headerHost$host;proxy_passhttp://$host;}}}特殊提醒resolver114.114.114.114valid=60sipv6=off;这里ipv6一定要关掉,部分网站开启了ipv6的域名解析,目前不支持,会导致访问失败
域名访问白名单nginx支持简答的逻辑判断,通过host变量获取当前请求的域名,$forbiden进行逻辑判断
客户端设置基于浏览器界面操作操作路径设置-高级-打开计算机代理设置,设置你的服务器IP+端口即可。
linux等基于命令行操作exporthttp_proxy=http://$proxy_ip:$proxy_portexporthttps_proxy=http://$proxy_ip:$proxy_port浏览器插件推荐使用SwitchyOmega