Skip to content

本节支持 ProxyServer 支持 HTTPS,通过自签名证书或 Let's Encrypt 免费证书实现。

服务器添加 SSL 证书

采用 openssl 生成自签名证书:

shell
openssl genrsa -passout pass:1111 -des3 -out ca.key 2048
openssl req -passin pass:1111 -new -x509 -days 7300 -key ca.key -out ca.crt -subj "/C=CN/ST=Shannxi/L=Xi'an/O=domain/OU=domain/CN=domain.com"
openssl pkcs12 -export -passin pass:1111 -clcerts -in ca.crt -inkey ca.key -out ca.pkcs12

将生成的证书,配置到服务器中:

yaml
server:
  base_path: "/"
  https:
    enable: true
    host: "0.0.0.0"
    port: 443
    # JKS, PKCS12
    keyStoreType: "PKCS12"
    keyStorePath: "certs/ca.pkcs12"
    keyStorePassword: "******"
    keyManagerPassword: "******"
    trustStorePath: "certs/ca.pkcs12"

即可通过 https 访问服务器,但是浏览器会提示证书不安全,忽略即可。

Let's Encrypt 免费证书

安装 certbot:

shell
sudo pip install certbot==0.40.0
sudo pip install acme==0.40.0
sudo pip install six

申请证书:

shell
# debian、ubuntu 系统
sudo certbot certonly --standalone -d domian.com -d www.domian.com -d code.domian.com
# Java 使用 pkcs12 格式
openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out fullchain_and_key.p12 -name domian

通过 https 访问服务, 此时浏览器会有安全的绿标。如果没有,则打开 F12 刷新浏览器。