ngxin常用配置–nginx之proxy_pass代理后端https请求完全解析

  • Post author:
  • Post category:其他



前言


本文解释了怎么对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: