使用openssl给ip地址配置https服务

244 阅读1分钟
  1. 创建根密钥
# 在当前目录生成私钥"privatekey.pem"
openssl genrsa -out privatekey.pem 2048
  1. 证书签名请求
# 在当前目录生成"private-csr.pem"
# 注意:执行下面语句后,Common Name需要填入你的 IP(172.16.18.41) 或者域名
openssl req -new -key privatekey.pem -out private-csr.pem
  1. 创建自签名证书
# 在当前目录生成签名证书"certificate.pem"
openssl x509 -req -days 365 -in private-csr.pem -signkey privatekey.pem -out certificate.pem
  1. 修改nginx配置文件,重启nginx:nginx -s reload
server {
    listen 433 ssl;
    ssl_certificate ./certificate.pem;
    ssl_certificate_key ./privatekey.pem;
    
    location / {
        proxy_pass  http://127.0.0.1:30000;
        proxy_set_header Host $proxy_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

如果域名网站是 HTTPS协议的,请求了 HTTP 的资源会直接报错 (blocked:mixed-content)。临时的解决办法是关闭安全设置:

image.png

image.png