最近一直在琢磨 Nginx 与上游源服务器之前通讯及其安全的问题,想要实现的目标就是:第一,就是仅仅是授权的 nginx 才能做源服务器的代理。 第,nginx 与源服务器之前通讯最好能实现加密传输,明文的 HTTP 协议容易被截取,密文的 HTTPS 特征也太明显容易被拦截。基于这些需求衍生除了下面的几个问题,望各位大佬解疑
stream { upstream bj { server bj.abc.com:8080; } server { listen 80; proxy_pass bj; } }
http { upstream bj { server bj.abc.com:8080; } server { listen 80; location / { proxy_pass http://bj; } } }
-
stream 和 http 都可以实现 HTTP 反向代理,那么这两种方式与上游源主机通讯的时候使用什么协议呢?是 TCP/UDP 还是是 HTTP 协议呢,或者说 stream 是使用 TCP ,http 使用的就是 http ?
-
如果上游的源服务器有证书双认证,nginx 能实现反向代理吗,就是 upstream 能配置客户端证书吗? nginx 与下游客户端双认证可有可无。
-
nginx 与上游源服务器通讯出了 http 模块使用 https 这种模式实现加密,那么还有其他什么方案吗?
-
除开配置系统级代理之外 stream 和 http 的 upstream 这里可以单独配置代理吗,比如 sockes/sockes5 等代理协议与上游服务器联系!
