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

张春  金牌会员 | 2024-12-23 03:43:39 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 890|帖子 890|积分 2670


前置条件



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

一、Nginx的SSL模块安装

一样平常情况下自己安装的nginx都是不存在ssl模块的。这里先检查下自己是否存在ssl模块:
进入到你的nginx安装目次下面,我的目次是在(/usr/local/nginx),如果你的nginx安装步骤和我一致的话
  1. cd /usr/local/nginx/sbin
复制代码
输入
  1. #注意这里是大写的V,千万别写错了,我就掉坑了
  2. ./nginx -V
复制代码

出现红框的内容,则已安装,如果有直接跳过看 二、配置SSL证书 如果没有,接下来进入到你的解压缩后的nginx目次,留意这里不是nginx安装目次,是解压缩后的目次,我的是在(/user/local/nginx-1.24.0),
  1. #进入目录
  2. cd /usr/local/nginx-1.24.0
复制代码
输入
  1. ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
复制代码
接下来执行
  1. make
复制代码
操作完成后原来的解压目次/usr/local/nginx-1.24.0/会出现objs文件夹,文件夹里有nginx文件
停掉nginx服务,使用新的nginx文件替换掉之前安装目次sbin下的nginx
  1.   systemctl stop nginx
复制代码
替换掉之前的nginx
  1. cp /usr/local/nginx-1.24.0/objs/nginx /usr/local/nginx/sbin/nginx
复制代码
进入到nginx安装目次下,检察SSL是否乐成,留意V大写
  1. ./nginx -V
复制代码

出现了configure arguments: --with-http_ssl_module 证明已经安装乐成
二、配置SSL证书

解压缩下载好的证书(我是腾讯云证书一样平常是crt文件和key文件,这里名字可以随便改)
将下载好的证书上上传到服务器,我将证书放在了/usr/local/nginx/conf目次下的ssl文件夹
  1. cd /usr/local/nginx/conf
  2. mkdir ssl
复制代码
使用winScp工具将将已获取到的 cloud.tencent.com_bundle.crt 证书文件和 cloud.tencent.com.key 私钥文件从本地目次拷贝到ssl目次下
三、举行nginx.conf配置

  1. cd /usr/local/nginx/conf
  2. #修改nginx.conf文件
  3. vim nginx.conf
复制代码
仅修改Server的部门,443端口这举行证书的绑定,下方监听80的server,可以将哀求转发到https的443端口
  1. server {
  2. #SSL 默认访问端口号为 443
  3. listen 443 ssl;
  4. #请填写绑定证书的域名
  5. server_name cloud.tencent.com;
  6. #请填写证书文件的相对路径或绝对路径
  7. ssl_certificate  cloud.tencent.com_bundle.crt;
  8. #请填写私钥文件的相对路径或绝对路径
  9. ssl_certificate_key cloud.tencent.com.key;
  10. ssl_session_timeout 5m;
  11. #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
  12. ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
  13. #请按照以下协议配置
  14. ssl_protocols TLSv1.2 TLSv1.3;
  15. ssl_prefer_server_ciphers on;
  16. location / {
  17.    #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
  18.    #例如,您的网站主页在 Nginx 服务器的 /etc/www 目录下,则请修改 root 后面的 html 为 /etc/www。
  19.    root html;
  20.    index index.html index.htm;
  21. }
  22. }
  23. server {
  24. listen 80;
  25. #请填写绑定证书的域名
  26. server_name cloud.tencent.com;
  27. #把http的域名请求转成https
  28. return 301 https://$host$request_uri;
  29. }
复制代码
  留意:记得在安全组中开放443端口
  四、启动nginx

先验证下配置文件是否OK,进入到sbin目次下
  1. ./nginx -t
复制代码

没问题重启nginx
  1. systemctl restart nginx
复制代码
至此就完事了,访问你的域名,发现有这个小锁,说明没问题了

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张春

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表