腾讯云 Nginx 服务器 SSL 证书安装部署(Linux)

看起来大家庭关注这个,刚发了一个《Nginx 服务器 SSL 证书安装部署(Windows)》,点击量还挺高,那就再发一个linux下的过程吧。希望能对大家有所帮助。

照例,先放官方废话:

说明

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

2、Nginx 版本以 nginx/1.18.0 为例。

3、当前服务器的操作系统为 CentOS 7,由于操作系统的版本不同,详细操作步骤略有区别。

4、安装 SSL 证书前,请您在 Nginx 服务器上开启 HTTPS 默认端口 443,避免证书安装后无法启用 HTTPS。具体可参考 服务器如何开启443端口?

5、SSL 证书文件上传至服务器方法可参考 如何将本地文件拷贝到云服务器

这里需要说一下注意事项。说明里面443端口是在linux防火墙里面开的,但是需要注意的是要开放防火墙的话一定要同时开放SSH,也就是在防火墙配置文件里面同时写上SSH的端口,否则你用XShell这些远程工具连服务器的时候,你就会哭了。

第一步,当然是安装nginx了。

其实在线安装nginx比较方便,大家自然可以去查,但是在线安装nginx在有些系统上他就是出各种各样的幺蛾子,所以我在这里主张离线安装了。

用xshell创建个目录usr/local/java,然后给这个文件夹赋权,这就不详细说了,自己去查xshell和linux的操作就好了。

然后用xshell带的文件上传工具把下载的nginx-1.9.9.tar.gz 放在这个目录下。具体版本自己根据需要自己去nginx官网上找找。ngxin下载地址:nginx news

然后解压

tar -zxvf nginx-1.9.9.tar.gz

3、切换到cd /usr/local/java/nginx-1.9.9/下面执行命令:

./configure

make

makeinstall

然后等待安装完成就好了。

第二步,将ssl的文件通过xshell的上传工具放在nginx的根目录下。

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

第三步,配置nginx的配置文件nginx.conf:

如找不到以下内容,可以手动添加。可执行命令 nginx -t ,找到nginx的配置文件路径。

如下图示例:

此操作可通过执行 vim /etc/nginx/nginx.conf 命令行编辑该文件。

不过,我觉得linux的命令行编辑对新手来说很不友好,所以我喜欢在windows本机上编辑好了再传上去覆盖。

由于版本问题,配置文件可能存在不同的写法。例如:Nginx 版本为 nginx/1.15.0 以上请使用 listen 443 ssl 代替 listen 443ssl on

配置内容参考下面的内容:

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 / {
#网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
#例如,您的网站主页在 Nginx 服务器的 /etc/www 目录下,则请修改 root 后面的 html 为 /etc/www。
root html;
index index.html index.htm;
}
}

第四部:验证和启动nginx

通过执行以下命令验证配置文件问题。

nginx -t

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

若不存在,请执行下面的步骤:

nginx -s reload

就是重新启动nginx。

重载成功,即可使用 https://cloud.tencent.com 进行访问。当然,还要看看你的防火墙是否开放正确。此外,还要看看云环境控制台上的安全组有没有开放相应端口。没开放都有可能会引起访问不到。

相关推荐
正在走向自律5 分钟前
阿里云ESC服务器一次性全部迁移到另一个ESC
服务器·阿里云·云计算
gywl31 分钟前
openEuler VM虚拟机操作(期末考试)
linux·服务器·网络·windows·http·centos
苹果醋31 小时前
React源码02 - 基础知识 React API 一览
java·运维·spring boot·mysql·nginx
了一li2 小时前
Qt中的QProcess与Boost.Interprocess:实现多进程编程
服务器·数据库·qt
日记跟新中2 小时前
Ubuntu20.04 修改root密码
linux·运维·服务器
唐小旭2 小时前
服务器建立-错误:pyenv环境建立后python版本不对
运维·服务器·python
明 庭2 小时前
Ubuntu下通过Docker部署NGINX服务器
服务器·ubuntu·docker
BUG 4042 小时前
Linux——Shell
linux·运维·服务器
007php0072 小时前
Go语言zero项目部署后启动失败问题分析与解决
java·服务器·网络·python·golang·php·ai编程