1. 使用 OpenSSL 工具生成自簽名證書
方式一:先生成私鑰(key),再生成CSR妙真,最后生成證書(crt)
生成私鑰(key):
openssl genrsa -des3 -out server.key 2048
生成證書簽名請求(CSR):
在這一步中兼耀,您將會被要求輸入一些組織信息倦踢,如國家、州斋陪、城市朽褪、組織名稱等。
SUBJECT="/C=CN/ST=ZheJiang/L=HangZhou/O=組織名稱/OU=組織單位名稱/CN=域名/emailAddress=郵箱"
openssl req -new -subj $SUBJECT -key server.key -out server.csr
生成服務(wù)器的私鑰无虚,去除密鑰口令:
mv server.key server.origin.key
openssl rsa -in server.origin.key -out server.key
通過CSR生成證書(crt):
您需要將生成的CSR文件發(fā)送給證書頒發(fā)機(jī)構(gòu)(CA)缔赠,以獲取證書。在這里友题,我們將使用自簽名證書來代替:
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
方式二:直接生成私鑰和證書(key和crt)
openssl req -x509 -newkey rsa:2048 -keyout server.key -out server.crt -days 365
兩者區(qū)別:
第一種方法分離了私鑰和證書的生成過程嗤堰,更符合安全最佳實踐。私鑰是極其敏感的信息度宦,應(yīng)該妥善保護(hù)踢匣。通過CSR生成證書可以確保證書的合法性和有效性。
2. 配置nginx
server {
listen 443 ssl;
server_name yourdomain.com;
ssl_certificate /path/to/server.crt;
ssl_certificate_key /path/to/server.key;
# 其他 SSL 配置...
ssl_protocols TLSv1.2 TLSv1.3; # 指定支持的 TLS 版本
}