首页  >  问答  >  正文

nginx配置https透明代理

问题1:

使用场景:明确下是透明代理哦,就是用在客户端请求外网的时候。本机没有外网权限,需要通过nginx配置的代理地址去请求公网。
问题:当有https链接需要请求公网,客户端与nginx之间必须是http方式?不能是:客户端直接通过nginx实现与源站ssl握手,然后客户端去自己去解码么? 就是nginx真正的变成透明代理。

问题2:

个人理解,nginx放在服务端,作为多个服务器的代理是反向代理。在客户端作为外网请求的代理服务(只是转发来自真实客户端的请求到源站),这个不就是正向代理? 为什么说nginx就是反向代理?

由衷的感谢...

PHP中文网PHP中文网2713 天前1021

全部回复(1)我来回复

  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-16 17:15:06

    Nginx是"主要"用于反向代理,至少我个人如此, 当然也用过他作为正向的

    Nginx由于不支持"CONNECT",所以客户端在请求外网的https站点时,会出现错误:

    "CONNECT www.google.com:443 HTTP/1.1" 400

    建议用Squid搭建内网的代理,
    不过你执意Nginx的话,带上这个模块再编译一次:

    https://github.com/chobits/ng...

    回复
    0
  • 取消回复