网站首页 > 精选教程 正文
本文主要介绍nginx正向代理。
正向代理介绍
为什么需要正向代理
- 由于直接的网络不通,通过配置代理来间隔访问
- 出于个人隐私的原因,我们希望隐藏自己的IP,让http服务器无法记录我们访问过它
代理类型介绍
1.http代理:
- 透明代理: http服务器知道浏览器端使用了代理,并能获取浏览器端原始IP;
- 匿名代理: http服务器知道浏览器端使用了代理,但无法获取浏览器端原始IP;
- 高匿名代理: http服务器不知道浏览器端使用了代理,且无法获取浏览器端原始IP;
2.soect代理:--支持http代理与其它协议代理,称为全能代理
- SOCKS4: 只支持TCP应用;
- SOCKS4A: 支持TCP应用;支持服务器端域名解析;
- SOCKS5: 支持TCP和UDP应用;支持服务器端域名解析;支持多种身份验证;支持IPV6;
3.其它协议代理
除了http、sockes可以使用代理外,https、ftp、RTSP、pop3等协议同样可以使用代理访问。
客户端配置使用代理
curl命令使用代理
1.curl命令代理选项说明【因格式问题仅粘贴部分代理相关的选项,可使用curl --help查看具体说明】
-x, --proxy [PROTOCOL://]HOST[:PORT] Use proxy on given port
-U, --proxy-user USER[:PASSWORD] Proxy user and password
-s, --silent Silent mode. Don't output anything
--socks4 HOST[:PORT] SOCKS4 proxy on given host + port
--socks4a HOST[:PORT] SOCKS4a proxy on given host + port
--socks5 HOST[:PORT] SOCKS5 proxy on given host + port
2.curl命令使用举例
curl命令使用http代理举例
- curl -x 192.168.56.120:8080 http://www.baidu.com
- curl -x http_proxy://192.168.56.120:8080 http://www.baidu.com
- curl -x HTTPS_PROXY://1192.168.56.120:8080 http://www.baidu.com
- curl -x username:password@1192.168.56.120:8080 http://www.baidu.com
- curl -x 192.168.56.120:8080 -U username:password http://www.baidu.com
curl命令使用socket代理举例
- curl --socks4 192.168.56.120:8080 http://www.baidu.com
- curl -x socks4://192.168.56.120:8080 http://www.baidu.com
- curl -x socks4a://192.168.56.120:8080 http://www.baidu.com
- curl -x socks5://username:password@192.168.56.120:8080 http://www.baidu.com
- curl -x socks5://username:password@192.168.56.120:8080 --proxy-ntlm http://www.baidu.com
windows-cmd中使用代理
1.使用设置环境变量来设置代理
- set http_proxy=http://127.0.0.1:1189
- set https_proxy=http://127.0.0.1:1189
2.也可直接使用上面介绍的curl命令来使用代理
linux使用代理
1.通过设置环境变量来设置代理
在shell直接执行或者在~/.bash_profil[e~/.bashrc]中加入以下语句
- export http_proxy=http://主机IP:1080
- export https_proxy=http://主机IP:1080
- export https_proxy=https://username:password@proxy_ip:port
- export http_proxy=http://username:password@proxy_ip:prot
2.通过修改文件来配置代理
wget配置:vi /etc/wgetrc
- http_proxy = IP:PORT
- ftp_proxy = IP:PORT
yum配置:vi /etc/yum.conf
- 增加一行proxy=IP:PORT
3.在shell可直接使用curl命令
nginx正向代理服务实战
参考官方文档
http://nginx.org/en/docs/http/ngx_http_core_module.html
http://nginx.org/en/docs/http/ngx_http_proxy_module.html
配置文件内容
http { server { listen 8090; location / { proxy_pass $scheme://$http_host$request_uri; } } }
配置说明
直接配置一个http的server,监听8090端口,然后直接在根下,通过proxy_pass把请求转发至目标服务器。nginx读取请求,将协议放在$scheme变量中,将ip加端口放在$http_host变量中,将url路径放在$request_uri中,因此可以通过获取变量内容,获得要访问的目标服务。
此时配置的nginx服务是http匿名代理。应用实例,在网络接口机器上配置代理服务,局域网内机器通过代理可以访问局域网外部资源。
http的透明代理,小编参考了其它技术牛人的配置,查阅了官方文档,试了几天都没有成功,只能后续研究成功后,再补充这部分内容。
socket代理,可以通过steam模块进行配置。编译时需要安装相应的模块--with-stream,以增加此部分功能。
测试
nginx正向代理服务配置在192.168.56.150的8090端口上,前端通过curl -x 192.168.56.150:8090 http://192.168.56.120:8080,访问192.168.56.120:8080上的tomcat页面,正确返回tomcat首页页面内容。
查问nginx正向代理日志,代理服务配置在192.168.56.150上,日志提示访问192.168.56.120:8080返回200提示成功。
猜你喜欢
- 2024-10-15 Kong 配置讲解之三——自定义Nginx模板和嵌入Kong
- 2024-10-15 通过隧道技术,让服务器曲线解决 IPV6 Only 限制
- 2024-10-15 推荐一款 Nginx 可视化配置神器 nginx可视化管理
- 2024-10-15 ddclient配置IPv6 DDNS (使用dynv6.com)
- 2024-10-15 IPv6初学者的10个常见困扰 ipv6讲解
- 2024-10-15 干货速看!CentOS7+Oracle 19c安装并开启IPv6监听,一文打尽
- 2024-10-15 Nginx 主机配置文件中如何配置能够支持 IPv4 和 IPv6
- 2024-10-15 Oracle Cloud 甲骨文云新版界面添加IPv6详细图文教程
- 2024-10-15 nginx 配置ipv6 nginx 配置IP替换
- 2024-10-15 nginx配置IPV6 nginx配置ip转发
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)