Nginx 服务器 SSL 证书安装部署并配置(已实测)

06-01 1702阅读

文章目录

  • 前置条件
  • 一、Nginx的SSL模块安装
  • 二、配置SSL证书
  • 三、进行nginx.conf配置
  • 四、启动nginx

    前置条件

    • 服务器已经安装nginx并且可以通过http正常访问,可以参考我之前的文章安装Nginx 并配置
    • 拥有SSL证书,没有的可以去腾讯云或阿里云购买
    • 已准备文件远程拷贝软件,例如 WinSCP(建议从官方网站获取最新版本)
    • 已准备远程登录工具,例如 PuTTY 或者 Xshell(建议从官方网站获取最新版本)
    • 已在当前服务器中安装配置含有 http_ssl_module 模块的 Nginx 服务。

      一、Nginx的SSL模块安装

      一般情况下自己安装的nginx都是不存在ssl模块的。这里先检查下自己是否存在ssl模块:

      进入到你的nginx安装目录下面,我的目录是在(/usr/local/nginx),如果你的nginx安装步骤和我一致的话

       cd /usr/local/nginx/sbin
      

      输入

       #注意这里是大写的V,千万别写错了,我就掉坑了
       ./nginx -V
      

      Nginx 服务器 SSL 证书安装部署并配置(已实测)

      出现红框的内容,则已安装,如果有直接跳过看 二、配置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
      

      接下来执行

      make
      

      操作完成后原来的解压目录/usr/local/nginx-1.24.0/会出现objs文件夹,文件夹里有nginx文件

      Nginx 服务器 SSL 证书安装部署并配置(已实测)停掉nginx服务,使用新的nginx文件替换掉之前安装目录sbin下的nginx

        systemctl stop nginx
      

      替换掉之前的nginx

      cp /usr/local/nginx-1.24.0/objs/nginx /usr/local/nginx/sbin/nginx
      

      进入到nginx安装目录下,查看SSL是否成功,注意V大写

      ./nginx -V
      

      Nginx 服务器 SSL 证书安装部署并配置(已实测)

      出现了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 -t
      

      Nginx 服务器 SSL 证书安装部署并配置(已实测)

      没问题重启nginx

      systemctl restart nginx
      

      至此就完事了,访问你的域名,发现有这个小锁,说明没问题了

      Nginx 服务器 SSL 证书安装部署并配置(已实测)

      好用的话不妨点赞收藏关注呀~

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

相关阅读

目录[+]

取消
微信二维码
微信二维码
支付宝二维码