nginx https透明代理_从官网入门系列-nginx web网站 反向代理 动静分离 负荷均衡(四)...

本文主要介绍nginx正向代理。

dd79e909a067de7d7362362ef363e12e.png

本系列封面

正向代理介绍

为什么需要正向代理

  • 由于直接的网络不通,通过配置代理来间隔访问
  • 出于个人隐私的原因,我们希望隐藏自己的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命令

05c2407a5a5aeca67115e87a138b547a.png

在浏览器中配置代理

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提示成功。

6f7913ceda1d3617fc897942a81f2017.png

nginx正向代理日志,代理服务配置在192.168.56.150上,日志提示访问192.168.56.120:8080返回200提示成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值