# nginx安装证书
nginx安装证书
# 前提条件
- 已经通过SSL证书服务完成证书签发。更多信息,请参见提交证书申请 (opens new window)。
- 已准备好远程登录工具(例如PuTTY、Xshell),用于登录您的Web服务器。
# 步骤1:下载证书到本地
在左侧导航栏,单击SSL证书。
定位到要下载的证书,单击操作列下的下载。
在证书下载面板,定位到Nginx服务器,单击操作列下的下载。
该操作会将Nginx服务器证书压缩包下载到本地,并保存在浏览器的默认下载位置。
打开浏览器的默认下载位置,解压已下载的Nginx证书压缩包文件。
解压后您将会获得以下文件:
本文中出现证书文件名称的地方,统一使用cert-file-name为例进行描述。例如,本文中用到的证书文件为cert-file-name.pem,证书私钥文件为cert-file-name.key。在实际操作过程中,您必须使用真实的证书文件名称替换示例代码中的cert-file-name。获取证书文件名称的具体操作,请参见下载证书到本地 (opens new window)。
PEM格式的证书文件。
PEM格式的证书文件是采用Base64编码的文本文件,您可以根据需要将证书文件修改成其他格式。关于证书格式的更多信息,请参见主流数字证书都有哪些格式 (opens new window)。
KEY格式的证书私钥文件。
如果您在申请证书时将CSR生成方式设置为手动填写,则下载的证书文件压缩包中不会包含KEY文件,您需要手动创建证书私钥文件。
# 步骤2:在Nginx服务器上安装证书
在Nginx独立服务器、Nginx虚拟主机上安装证书的具体操作不同,请根据您的实际环境,选择对应的安装步骤。
参考以下步骤,在Nginx独立服务器上安装证书:
登录Nginx服务器。
例如,您可以使用远程登录工具(例如,PuTTY、Xshell)登录服务器。
使用远程登录工具,将本地证书文件和私钥文件上传到Nginx服务器的证书目录(示例中为/usr/local/nginx/conf)。
编辑Nginx配置文件(nginx.conf),修改与证书相关的配置内容。
使用示例代码前,请注意替换以下内容:
yourdomain.com
:替换成证书绑定的域名。
如果您购买的是单域名证书,需要修改为单域名(例如
www.aliyundoc.com
);如果您购买的是通配符域名证书,则需要修改为通配符域名(例如*.aliyundoc.com
)。cert-file-name.pem
:替换成您在步骤3上传的证书文件的名称。cert-file-name.key
:替换成您在步骤3上传的证书私钥文件的名称。
#以下属性中,以ssl开头的属性表示与证书配置有关。 server { listen 443 ssl; #配置HTTPS的默认访问端口为443。 #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。 #如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。 server_name yourdomain.com; #需要将yourdomain.com替换成证书绑定的域名。 root html; index index.html index.htm; ssl_certificate cert/cert-file-name.pem; #需要将cert-file-name.pem替换成已上传的证书文件的名称。 ssl_certificate_key cert/cert-file-name.key; #需要将cert-file-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.1 TLSv1.2 TLSv1.3; #表示使用的TLS协议的类型。 ssl_prefer_server_ciphers on; location / { root html; #站点目录。 index index.html index.htm; } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21**可选:**设置HTTP请求自动跳转HTTPS。
如果您希望所有的HTTP访问自动跳转到HTTPS页面,则可以在需要跳转的HTTP站点下添加以下
rewrite
语句。使用示例代码前,请注意将yourdomain.com替换成证书绑定的域名。
server { listen 80; server_name yourdomain.com; #需要将yourdomain.com替换成证书绑定的域名。 rewrite ^(.*)$ https://$host$1; #将所有HTTP请求通过rewrite指令重定向到HTTPS。 location / { index index.html index.htm; } }
1
2
3
4
5
6
7
8如果您使用的是阿里云ECS服务器,必须在ECS管理控制台 (opens new window)的安全组页面,配置放行80端口和443端口,否则网站访问可能出现异常。关于如何配置安全组,请参见添加安全组规则 (opens new window)。
服务器也需要放行相应端口
重启nginx服务器
# 步骤3:验证是否安装成功
证书安装完成后,您可通过访问证书的绑定域名验证该证书是否安装成功。
https://yourdomain.com #需要将yourdomain.com替换成证书绑定的域名。
如果网页地址栏出现小锁标志,表示证书已经安装成功。
如果验证时出现访问异常,请参照下表进行排查。
异常现象 | 可能原因 | 处理方法 |
---|---|---|
通过HTTPS无法正常访问您的网站。 | 安装证书的Nginx服务器的443端口未开放或被其他工具拦截。 | 如果您使用的是阿里云ECS服务器,请前往ECS管理控制台 (opens new window)的安全组页面,配置开放443端口。关于如何配置安全组,请参见添加安全组规则 (opens new window)。如果您使用的不是阿里云ECS服务器,请参照对应的服务器安全设置指南,配置开放服务器的443端口。 |
收到网站提示“您与网站之间的连接未完全安全”。 | 您的网站代码中调用的是HTTP协议。 | 您需要在网站代码中把HTTP协议修改为HTTPS协议。说明 不同网站代码的实现逻辑可能存在差异,请您根据具体情况进行修改。如果需要更多支持,请提交工单 (opens new window)。 |
收到网站提示“该网站未根据工信部相关法律进行备案”。 | 您的网站未完成备案,未在接入商处完成备案接入。您的网站内容与备案信息不符、备案信息不准确、网站存在不适宜传播的内容等。 | 如果您使用的是阿里ICP云备案系统,请前往阿里云备案系统 (opens new window)进行网站备案。如果您使用的不是阿里云ICP备案系统,请前往备案服务商的系统进行网站备案。 |