前置条件
- 服务器已经安装nginx而且可以通过http正常访问,可以参考我之前的文章安装Nginx 并配置
- 拥有SSL证书,没有的可以去腾讯云或阿里云购买
- 已预备文件长途拷贝软件,比方 WinSCP(建议从官方网站获取最新版本)
- 已预备长途登录工具,比方 PuTTY 大概 Xshell(建议从官方网站获取最新版本)
- 已在当前服务器中安装配置含有 http_ssl_module 模块的 Nginx 服务。
一、Nginx的SSL模块安装
一样平常情况下自己安装的nginx都是不存在ssl模块的。这里先检查下自己是否存在ssl模块:
进入到你的nginx安装目次下面,我的目次是在(/usr/local/nginx),如果你的nginx安装步骤和我一致的话
输入
- #注意这里是大写的V,千万别写错了,我就掉坑了
- ./nginx -V
复制代码
出现红框的内容,则已安装,如果有直接跳过看 二、配置SSL证书 如果没有,接下来进入到你的解压缩后的nginx目次,留意这里不是nginx安装目次,是解压缩后的目次,我的是在(/user/local/nginx-1.24.0),
- #进入目录
- cd /usr/local/nginx-1.24.0
复制代码 输入
- ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
复制代码 接下来执行
操作完成后原来的解压目次/usr/local/nginx-1.24.0/会出现objs文件夹,文件夹里有nginx文件
停掉nginx服务,使用新的nginx文件替换掉之前安装目次sbin下的nginx
替换掉之前的nginx
- cp /usr/local/nginx-1.24.0/objs/nginx /usr/local/nginx/sbin/nginx
复制代码 进入到nginx安装目次下,检察SSL是否乐成,留意V大写
出现了configure arguments: --with-http_ssl_module 证明已经安装乐成
二、配置SSL证书
解压缩下载好的证书(我是腾讯云证书一样平常是crt文件和key文件,这里名字可以随便改)
将下载好的证书上上传到服务器,我将证书放在了/usr/local/nginx/conf目次下的ssl文件夹
- cd /usr/local/nginx/conf
- mkdir ssl
复制代码 使用winScp工具将将已获取到的 cloud.tencent.com_bundle.crt 证书文件和 cloud.tencent.com.key 私钥文件从本地目次拷贝到ssl目次下
三、举行nginx.conf配置
- cd /usr/local/nginx/conf
- #修改nginx.conf文件
- vim nginx.conf
复制代码 仅修改Server的部门,443端口这举行证书的绑定,下方监听80的server,可以将哀求转发到https的443端口
- 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;
- #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
- 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 / {
- #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
- #例如,您的网站主页在 Nginx 服务器的 /etc/www 目录下,则请修改 root 后面的 html 为 /etc/www。
- root html;
- index index.html index.htm;
- }
- }
- server {
- listen 80;
- #请填写绑定证书的域名
- server_name cloud.tencent.com;
- #把http的域名请求转成https
- return 301 https://$host$request_uri;
- }
复制代码 留意:记得在安全组中开放443端口
四、启动nginx
先验证下配置文件是否OK,进入到sbin目次下
没问题重启nginx
至此就完事了,访问你的域名,发现有这个小锁,说明没问题了
好用的话不妨点赞收藏关注呀~
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |