自签https证书
-
yum install openssl -y
-
根据服务器信息,生成证书和密钥
- 步骤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
- 修改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