自签https证书

  1. yum install openssl -y

  2. 根据服务器信息,生成证书和密钥

  • 步骤1:生成密钥
    命令:openssl genrsa 1024 > server.key
    说明:这是用128位rsa算法生成密钥,得到server.key文件
    
  • 步骤2: 生成证书请求文件
    命令:openssl req -new -key server.key > server.csr
    说明:这是用步骤1的密钥生成证书请求文件server.csr, 这一步提很多问题,一一输入。需要注意IP地址的输入,其他可直接跳过。
    Common Name (eg, your name or your server's hostname) []:192.168.103.140
    
  • 步骤3: 生成证书
    命令:openssl req -x509 -days 365 -key server.key -in server.csr > server.crt
    说明:这是用步骤1,2的的密钥和证书请求生成证书server.crt,-days参数指明证书有效期,单位为天
    
  • 步骤4: 生成HA使用的证书
    命令:cat server.crt server.key |tee server.pem
    说明:这里是HAProxy中配置使用的文件pem
    
  1. 修改HAProxy配置
    下面是一个接口的配置例子:
listen https_portal-api
    # 要监听的地址端口及证书路径(使用上面步骤生成的pem文件)
    bind 192.168.103.140:443 ssl crt /usr/share/portal/server.pem
    # 默认跳转到https
    redirect scheme https if !{ ssl_fc }
    mode http
    option httpclose
    option forwardfor
    reqadd X-Forwarded-Proto:\ https
    # 服务后端地址
    server  portal1 127.0.0.1:8080