看起来大家庭关注这个,刚发了一个《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 进行访问。当然,还要看看你的防火墙是否开放正确。此外,还要看看云环境控制台上的安全组有没有开放相应端口。没开放都有可能会引起访问不到。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部