nginx代理Https单向认证和双向认证

 

1了解nginx请求转发

感谢:http://blog.csdn.net/tobacco5648/article/details/51099426

作者:liuwons

例如有 webmail , webcom 以及 webdefault 三个服务器分别运行在portmail , portcom , portdefault 端口,要实现从80端口同时访问这三个web服务器,则可以在80端口运行nginx, 然后将/mail 下的请求转发到webmail 服务器, 将/com下的请求转发到webcom 服务器, 将其他所有请求转发到webdefault 服务器。

 

假设服务器域名为example.com,则对应的nginx http配置如下:

 nginx代理Https单向认证和双向认证_第1张图片

以上的配置会按以下规则转发请求( GET 和 POST 请求都会转发):

将 http://example.com/mail/下的请求转发到 http://example.com:portmail/

将 http://example.com/com/ 下的请求转发到 http://example.com:portcom/main/

将其它所有请求转发到 http://example.com:portdefault/

 

需要注意的是,在以上的配置中,webdefault 的代理服务器设置是没有指定URI的,而webmail 和webcom 的代理服务器设置是指定了URI的(分别为/ 和 /main/)。

如果代理服务器地址中是带有URI的,此URI会替换掉location 所匹配的URI部分。

而如果代理服务器地址中是不带有URI的,则会用完整的请求URL来转发到代理服务器。

 

2、代理Http服务器

 nginx代理Https单向认证和双向认证_第2张图片

http端口只能转发给http服务器

访问test.*******.com->test.******.com:8080/******/

 

代理Https的时候,需要配置单独的证书和私钥

如果是公钥证书和私钥都保存在密钥库里的话,可以使用openssl提取出来

3、代理Https单向认证服务器

 nginx代理Https单向认证和双向认证_第3张图片

https端口只能转发给https服务器

访问https://test.******.com/******

->https://test.******.com:8443/******/

 

4、代理Https双向认证服务器

 nginx代理Https单向认证和双向认证_第4张图片

与代理Https单向认证服务器相比,需要配置证书

你可能感兴趣的:(Https)