nginx配置https

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

生成服务器的私钥,去除密钥口令:

mv server.key server.origin.key
openssl rsa -in server.origin.key -out server.key

通过CSR生成证书(crt):

您需要将生成的CSR文件发送给证书颁发机构(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

两者区别:
第一种方法分离了私钥和证书的生成过程,更符合安全最佳实践。私钥是极其敏感的信息,应该妥善保护。通过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 版本
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容