nginx配置ssl证书
date:2019-07-04 17:06:35
author:headsen chen
- 登录阿里云SSL证书控制台 。
- 在SSL证书页面,点击已签发标签,定位到需要下载的证书并单击证书卡片右下角的下载打开证书下载对话框。
- 在证书下载对话框中定位到Nginx/Tengine服务器,并单击右侧操作栏的下载将Nginx版证书压缩包下载到本地。
- 解压Nginx证书。
您将看到文件夹中有2个文件:
- 证书文件(以.pem为后缀或文件类型)
- 密钥文件(以.key为后缀或文件类型)
说明 .pem扩展名的证书文件采用Base64-encoded的PEM格式文本文件,您可根据需要修改成其他扩展名。证书的格式详见主流数字证书都有哪些格式。
- 在Nginx安装目录下创建cert目录,并将下载的证书文件和密钥文件拷贝到cert目录中。
说明 如果您在申请证书时选择 手动创建CSR文件,请将对应的密钥文件放到 cert目录中。
- 打开
# HTTPS server server { listen 443; server_name localhost; ssl on; ssl_certificate cert.pem; ssl_certificate_key cert.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; ssl_prefer_server_ciphers on; location / {
修改nginx.conf文件如下:# 以下属性中以ssl开头的属性代表与证书配置有关,其他属性请根据自己的需要进行配置。 server { listen 443; server_name localhost; # localhost修改为您证书绑定的域名。 ssl on; #设置为on启用SSL功能。 root html; index index.html index.htm; ssl_certificate cert/domain name.pem; #将domain name.pem替换成您证书的文件名。 ssl_certificate_key cert/domain name.key; #将domain name.key替换成您证书的密钥文件名。 ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件。 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用该协议进行配置。 ssl_prefer_server_ciphers on; location / { root html; #站点目录。 index index.html index.htm; #添加属性。 } }
- (可选步骤)设置http请求强制跳转https,支持使用http协议进行访问。修改nginx.conf文件如下:
server { listen 80; server_name localhost; #使用您证书绑定的域名替换localhost。 return 301 https://$server_name$request_uri; } server { listen 443 ssl; server_name localhost; #使用您证书绑定的域名替换localhost。 }
- 保存nginx.conf文件后退出。
- 重启Nginx服务器。