有些情况下我们需要生成一个假的https证书,以在局域网中使用https支持
第一步 生成certchain.pem和private.key
安装 OpenSSL:
如果你还没有安装 OpenSSL,首先需要安装它。在大多数 Linux 发行版和 macOS 上,OpenSSL 通常已经预安装了。在 Windows 上,你可能需要手动下载并安装 OpenSSL。
生成私钥:
打开终端(或命令提示符)并运行以下命令来生成一个新的私钥文件(例如 private.key):
openssl genpkey -algorithm RSA -out private.key -pkeyopt rsa_keygen_bits:2048
这条命令将生成一个 2048 位的 RSA 私钥。
生成证书签名请求(CSR):
使用私钥生成一个 CSR。在实际的生产环境中,你会将这个 CSR 发送给证书颁发机构(CA),但对于自签名证书,你将直接使用它来生成证书:
openssl req -new -key private.key -out cert.csr
这条命令会询问你一些信息,比如你的国家、组织和常用名(Common Name,即你的服务器的域名)。对于自签名证书,这些信息不是特别关键,但应确保常用名匹配你打算使用证书的域名或IP地址。
生成自签名 SSL 证书:
最后,使用 CSR 和私钥生成自签名的 SSL 证书(例如 certchain.pem):
openssl x509 -req -days 365 -in cert.csr -signkey private.key -out certchain.pem
这条命令将生成一个有效期为 365 天的自签名证书。
配置 Streamlit:
第二步: 使用生成的 certchain.pem 和 private.key 文件配置 Streamlit。确保在 .streamlit/config.toml 文件中指定这些文件的正确路径。
编辑 .streamlit/config.toml插入以下内容
[server]
sslCertFile = '/path/to/certchain.pem'
sslKeyFile = '/path/to/private.key'