星星之火-Nginx配置腾讯云的SSL证书到阿里云的服务器和域名上

本文最后更新于:March 27, 2022 pm

积土成山,风雨兴焉;积水成渊,蛟龙生焉;积善成德,而神明自得,圣心备焉。故不积跬步,无以至千里,不积小流无以成江海。齐骥一跃,不能十步,驽马十驾,功不在舍。面对悬崖峭壁,一百年也看不出一条裂缝来,但用斧凿,能进一寸进一寸,能进一尺进一尺,不断积累,飞跃必来,突破随之。

目录

服务器、域名:阿里云的。

SSL证书:腾讯云申请的。证书申请的域名是阿里云的。

腾讯官方配置教程

建议看官方教程!!!

注意开端口!!!!!!!!!!

环境

  • 本文档以证书名称 cloud.tencent.com 为例。

  • Nginx版本为 nginx/1.18.0 。

  • 服务器操作系统为 Ubuntu20.04

上传证书

在腾讯云控制台下载证书,下载Nginx形式的文件到本地,然后解压。

将获取到的 cloud.tencent.com_bundle.crt 证书文件和 cloud.tencent.com.key 私钥文件从本地目录拷贝到 Nginx 服务器的 /usr/local/nginx/conf 目录(此处为 Nginx 默认安装目录,请根据实际情况操作)下。

备注

只需要把 .crt 文件和 .key 文件上传即可。

可能会有人找不到这个 /usr/local/nginx/conf 目录,你的可能不是这个,所以只需要找到你自己的Nginx的安装目录即可。其实最后都是到了一个包含 nginx.conf 的目录,无需关心是否有conf目录,只要到了有这个 nginx.conf 文件的目录即可。

修改配置文件

然后修改你网站的配置文件。如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
server {
#SSL 访问端口号为 443
listen 443 ssl;
#填写绑定证书的域名
server_name cloud.tencent.com;
#证书文件名称
ssl_certificate cloud.tencent.com_bundle.crt;
#私钥文件名称
ssl_certificate_key cloud.tencent.com.key;
ssl_session_timeout 5m;
#请按照以下协议配置
ssl_protocols TLSv1.2 TLSv1.3;
#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
#网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
#例如,您的网站运行目录在/etc/www下,则填写/etc/www。
root html;
index index.html index.htm;
}
}

然后在你上传文件的目录下执行:(选其一执行)

1
2
./sbin/nginx -t 
sudo nginx -t #针对没有conf目录的人,比如我自己就是执行的这个命令

重启Nginx

1
sudo systemctl restart nginx

然后就可以使用 https://cloud.tencent.com 进行访问了。

HTTP自动跳转HTTPS

在配置文件中添加即可:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
server {
listen 443 ssl;
#填写绑定证书的域名,修改为自己的域名,这里可写多个,还可加再加一个带www的
server_name cloud.tencent.com;
#证书文件名称,修改为自己的crt文件名称
ssl_certificate cloud.tencent.com_bundle.crt;
#私钥文件名称,修改为自己的key文件名称
ssl_certificate_key cloud.tencent.com.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
location / {
#网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
#例如,您的网站运行目录在/etc/www下,则填写/etc/www。
root html;
index index.html index.htm;
}
}
server {
listen 80;
#填写绑定证书的域名,这里修改为自己的域名,还可以添加一个带www的
server_name cloud.tencent.com;
#把http的域名请求转成https,这里不需要更改
return 301 https://$host$request_uri;
}

然后再重启Nginx。