1.服务器要开放443端口
2.找到华为云证书管理服务,可以免费用一年
购买后进行相应的配置,下载即可
域名解析配置两条,正常配置一条+按照华为云要求配置一条
最后在nginx配置即可,重启nginx
步骤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。
步骤6 通过https方式访问您的域名,测试域名证书的安装配置,如遇到证书安装问题,请参考如何在Nginx上安装SSL证书?