Nginx配置SSL证书
步骤1 下载证书及证书转换
1. 补全信息时,“证书请求文件”选择的“粘贴已有CSR”请参考以下步骤进行配置。
a. 单击“下载证书”,下载的文件包含了一个pem文件。
“server.pem”文件包括两段证书代码“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”。
b. 修改server.pem的后缀名为crt,和生成CSR时的私钥server.key放在一个文件夹内。
2. 补全信息时,“证书请求文件”选择的“在线生成CSR”请参考以下步骤进行配置。
a. 单击“下载证书”,下载的文件包含了“Apache”、“IIS”、“Nginx”、“Tomcat”4个文件夹和1个“domain.csr”文件,如图1-1所示。
图1-1 解压SSL证书
b. 从Nginx文件夹内获得证书文件“server.crt ”和私钥文件“server.key”。
“server.crt”文件包括两段证书代码“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”。
“server.key”文件包括一段私钥代码“-----BEGIN RSA PRIVATE KEY-----”和“-----END RSA PRIVATE KEY-----”。
步骤2 在Nginx的安装目录下创建cert目录,并且将“server.key”和“server.crt”拷贝到nginx的“cert”目录下。
步骤3 配置Nginx中conf同目录下的“nginx.conf”文件。
修改如下参数:
ssl_certificatecert/server.crt;
ssl_certificate_keycert/server.key;
完整的配置如下,其余参数根据实际情况修改:
server {
listen443;
server_namewww.domain.com; #用户服务器的域名
sslon;
ssl_certificatecert/server.crt;
ssl_certificate_keycert/server.key;
ssl_session_timeout5m;
ssl_protocolsTLSv1 TLSv1.1 TLSv1.2;
ssl_ciphersECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_cipherson;
location / {
roothtml; #站点目录
indexindex.html index.htm;
}
}
注意:不要直接拷贝所有配置,参数中ssl开头的属性与证书配置有直接关系,其它参数请根据自己的实际情况修改。
参数说明,如表1-1所示。
表1-1 参数说明
参数 | 参数说明 |
---|---|
listen | SSL访问端口号,设置为“443”。 |
SSL | 设置为“on”,启用SSL功能。 |
ssl_certificate | 证书文件“server.crt”。 设置为“server.crt”文件的路径,且路径中不能包含中文字符, 例如“cert/server.crt”。 |
ssl_certificate_key | 私钥文件“server.key”。 设置为“server.key”的路径,且路径中不能包含中文字符, 例如“cert/server.key”。 |
ssl_protocols | 使用的协议。 |
ssl_ciphers | 配置加密套件,写法遵循OpenSSL标准。 |
步骤4 修改完成后保存配置文件,验证配置是否正确。
进入nginx执行目录下,执行以下命令:
sbin/nginx -t
配置正确,回显信息如下所示:
nginx.conf syntax is ok
nginx.conf test is successful
步骤5 重启Nginx。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了