前言
本文解释了怎么对nginx和后端服务器或代理服务器进行加密http通信
内容提纲
-
前提条件
-
获取SSL服务器证书
-
获取SSL客户端证书
-
配置nginx
-
配置后端服务器
-
完整示例
前提条件
-
nginx源码或nginx plus源码
-
一个代理服务器或一个代理服务器组
-
SSL证书和私钥
获取SSL服务器证书
你可以从一个可信任证书颁发机构(CA)购买一个服务器证书,或者你可以使用openssl库创建一个内部CA签名,并且给自己颁发证书。这个服务器端证书和私钥需要部署在后端的每一个服务器上。
你还需要在后端服务器上配置好所有的来源SSL连接都需要客户端证书,并信任这个CA颁发的nginx客户端证书。然后当nginx连接后端时,将提供客户端证书,并且后端将会接收这个连接。
配置nginx
首先,改变相应URL到支持SSL连接的后端服务器组。在nginx的配置文件中,指明proxy_pass指令在代理服务器或后端服务器组中使用“https”协议:
location /upstream {
proxy_pass https: