轻量应用服务器 Nginx 服务器证书安装

这篇以使用 WordPress 5.7.1 社区版的轻量应用服务器为例,介绍如何在服务器中安装 SSL 证书并开启 HTTPS 访问。该服务器中默认已安装 Nginx 软件,可以参考这篇并结合实际情况进行操作。

相关产品
轻量应用服务器 产品页,含版本规格、价格与购买入口。

一、前提条件

·已准备文件远程拷贝软件,例如 WinSCP(建议从网站获取最新版本)。

·已准备远程登录工具,例如 PuTTY 或者 Xshell(建议从网站获取最新版本)。

·轻量应用服务器创建完成后,防火墙默认已开启 443 端口。建议你在安装 SSL 证书前,前往防火墙页面确认已开启 443 端口,避免证书安装后无法启用 HTTPS。详情请参见 管理防火墙。

·安装 SSL 证书前需准备的数据如下:

名称 说明
轻量应用服务器的公网 IP 地址 服务器的 IP 地址,用于本地计算机连接到服务器。
用户名 登录轻量应用服务器操作系统的用户名,例如 root。
密码或 SSH 密钥 登录轻量应用服务器操作系统所使用的用户名对应的密码,或者已绑定的 SSH 密钥。

注意:你可以登录 轻量应用服务器控制台 找到对应的服务器实例,进入实例详情页查看服务器的公网 IP 地址。如果该实例创建后未执行重置密码或者绑定 SSH 密钥操作,请你执行重置密码操作并牢记密码,或绑定 SSH 密钥并保存私钥文件。详情请参见 重置密码 和 绑定密钥。

二、证书安装

1. 前往 SSL 证书管理控制台 中下载 SSL 证书(名称以 cloud.tencent.com 为例)文件压缩包,并解压到本地目录。
解压缩后,可获得相关类型的证书文件。其中包含 Nginx 文件夹和 CSR 文件:

·文件夹名称:Nginx

·文件夹内容:

·cloud.tencent.com_bundle.crt 证书文件

·cloud.tencent.com.key 私钥文件

·CSR 文件内容: cloud.tencent.com.csr 文件

注意:CSR 文件是申请证书时由你上传或系统在线生成的,提供给 CA 机构。安装时可忽略该文件。

2. 参见 使用 OrcaTerm 登录 Linux 实例 登录轻量应用服务器,或参见 远程登录 Linux 实例 在本地计算机中使用远程登录工具(如 PuTTY),通过用户名密码方式或者 SSH 密钥对方式登录轻量应用服务器。

3. 将已获取到的 cloud.tencent.com_bundle.crt 证书文件和 cloud.tencent.com.key 私钥文件从本地目录拷贝到轻量应用服务器 Nginx 默认配置文件目录中。你可参考 如何将本地文件拷贝到轻量应用服务器 上传证书文件。

4. 对于 WordPress 镜像创建的实例则执行以下命令,编辑 Nginx 默认配置文件目录中的 nginx.conf 文件。

sudo vim /www/server/nginx/conf/nginx.conf

找到 server {…},并将 server 大括号中相应的配置信息替换为如下内容。

注意:此配置仅供参考,请参考注释并按照实际环境进行修改。你也可以参考 Nginx 产品文档按需进行配置。

server { listen 443 ssl; server_tokens off; keepalive_timeout 5; root /usr/local/lighthouse/softwares/wordpress; #填写你的网站根目录,例如:/usr/local/lighthouse/softwares/wordpress index index.php index.html; access_log logs/wordpress.log; error_log logs/wordpress.error.log; server_name cloud.tencent.com; #填写你的证书绑定的域名,例如:www.cloud.tencent.com ssl_certificate cloud.tencent.com_bundle.crt; #填写你的证书文件名称,例如:cloud.tencent.com_bundle.crt ssl_certificate_key cloud.tencent.com.key; #填写你的私钥文件名称,例如:cloud.tencent.com.key ssl_session_timeout 5m; ssl_protocols TLSv1.2 TLSv1.3; # 可参考此 SSL 协议进行配置 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; #可按照此加密套件配置,写法遵循 openssl 标准 ssl_prefer_server_ciphers on; location ~* \\.php$ { fastcgi_pass 127.0.0.1:9000; include fastcgi.conf; client_max_body_size 20m; fastcgi_connect_timeout 30s; fastcgi_send_timeout 30s; fastcgi_read_timeout 30s; fastcgi_intercept_errors on; }}

5. 找到 http{…},并输入以下配置信息。

ssl_certificate cloud.tencent.com_bundle.crt; #填写你的证书文件名称,例如:cloud.tencent.com_bundle.crtssl_certificate_key cloud.tencent.com.key; #填写你的私钥文件名称,例如:cloud.tencent.com.key

6. 保存修改后的 nginx.conf 文件后退出。

7. 执行以下命令,验证配置文件是否存在问题。

sudo nginx -t

·若输出信息如下所示,则为配置成功,请继续执行 步骤8。


·若存在错误提示,请你重新配置或者根据提示修改存在问题。

8. 执行以下命令,重启 Nginx。

sudo systemctl reload nginx

至此已安装成功。你可使用 https://cloud.tencent.com(示例)正常进行访问。

三、设置 HTTP 请求自动跳转 HTTPS(可选)

你可以通过配置服务器,让其自动将 HTTP 的请求重定向到 HTTPS。可以参考以下步骤进行设置:

1. Nginx 支持 rewrite 功能。若你在编译时没有删除 pcre,则可在 HTTP 的 server 中增加 return 301 https://$host$request_uri;,即可将默认80端口的请求重定向为 HTTPS。
你需要对 nginx.conf 文件进行修改,在“证书安装”中的 步骤4 的配置之后继续添加如下配置:

server { listen 80; server_name cloud.tencent.com; #填写你的证书绑定的域名,例如:cloud.tencent.com return 301 https://$host$request_uri; #将http的域名请求转成https}

2. 保存修改后的 nginx.conf 文件后退出,参考“证书安装”的 步骤7 及 步骤8 验证并重启 Nginx。
至此已成功设置 HTTPS 的自动跳转,你可使用 http://cloud.tencent.com(示例)自动跳转至 HTTPS 页面。如下:


赞 (0)
上一篇 4天前
下一篇 4天前