前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >腾讯云SSL证书获取及Nginx配置教程

腾讯云SSL证书获取及Nginx配置教程

原创
作者头像
小明爱吃火锅
发布2024-04-25 15:08:36
2050
发布2024-04-25 15:08:36
举报
文章被收录于专栏:小明说Java小明说Java

前言

很多人应该都有属于自己网站,刚开始基本是只能用http进行访问,无法使用https安全访问,但是随着网络安全意识的不断提高,越来越多的网站开始使用HTTPS协议来保护用户的数据安全,SSL证书是实现HTTPS协议的关键组件,本文将讲解如何在腾讯云上获取SSL证书,并配置到Nginx服务器上。

一、腾讯云SSL证书获取

首先我们获取SSL证书,如果大家有米的话,可以选择付费正式版证书,也可以选择免费版,最近改版了只能申请3个月的。所以需要定时更换证书。另外选择腾讯云的原因的,免费证书审批很快,基本几分钟就过,所以强烈推荐。

点击申请免费证书,只需要两步就可以完成,申请并验证域名所有权,腾讯云会发送验证邮件到您的域名注册邮箱,点击邮件中的链接完成验证就行,证书通过站内信通知,不超过5分钟,十分块。

证书通过之后,在控制台就可以刚刚申请的证书了,接下来就需要下载证书并且上传到网站服务器,在证书右边点击下载。

在下载框选择Nginx,大部分也是使用Nginx转发部署。

下载完成会有一个网站域名的压缩包,里面有四个文件,都是以域名。

二、Nginx配置SSL证书

上传SSL证书到服务器

上述证书下载好之后,接下来就需要把将下载的证书文件(包括.crt和.key文件)上传到网站服务器了,可以参考腾讯云官方教程部署教程。这里建议直接放到Nginx的conf目录下,与nginx.conf通过目录,这样方便Nginx读取。

Nginx配置SSL证书

接下来就需要在Nginx配置文件中添加读取ssl证书,配置如下,主要在server块中添加SSL配置,以及HTTP转发到HTTPS请求。

首先先对比一下没有配置SSL证书的nginx.conf。

代码语言:actionscript
复制
worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

	sendfile        on;
	keepalive_timeout  65;

    upstream halo {
      server 127.0.0.1:8090;
    }
	
    server {
      listen 80;
      listen [::]:80;
      server_name xiaoming886.top;
      client_max_body_size 1024m;

      location / {
        proxy_pass http://halo;
        proxy_set_header HOST $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      }
    }
}

接下来看添加ssl证书的nginx.conf配置

代码语言:bash
复制

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    upstream halo {
      server 127.0.0.1:8090;
    }

    server {
     #SSL 默认访问端口号为 443
     listen 443 ssl;
     #请填写绑定证书的域名
     server_name www.xiaoming886.top xiaoming886.top;
     #请填写证书文件的相对路径或绝对路径
     ssl_certificate  xiaoming886.top_bundle.crt;
     #请填写私钥文件的相对路径或绝对路径
     ssl_certificate_key xiaoming886.top.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 / {
          proxy_pass http://halo;
          proxy_set_header HOST $host;
          proxy_set_header X-Forwarded-Proto $scheme;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     }
    }

	# http转发到https
    server {
     listen 80;
     #请填写绑定证书的域名
     server_name xiaoming886.top;
     #把http的域名请求转成https
     return 301 https://$host$request_uri;
    }

}

通过两个文件的对比,主要添加了注释的部分,并不复杂,这些配置都可以在官方教程进行复制粘贴。

配置完成之后,需要重启Nginx服务以使新配置生效,在nginx的sbin目录命令行中执行分别以下命令,也就是停止nginx,并再次启动。

代码语言:apacheconf
复制
./nginx -s stop
./nginx 

安装SSL模块

这里如果是第一次配置SSL证书,有可能会报错,nginx找不到SSL模块

这里需要注意的时候,需要进入Nginx下载包的目录,不是安装成功目录,需要执行configure命令进行安装ssl模块

进入Nginx下载包的目录之后,执行以下命令,部署ssl模块

代码语言:bash
复制
sudo ./configure --with-http_stub_status_module --with-http_ssl_module

等待配置成功,重新安装Nginx,这里不用担心覆盖之前配置

代码语言:bash
复制
sudo make install

安装完成之后,进入nginx安装目录,重启Nginx服务以使新配置生效,没有报错说明启动成功,ssl证书配置完成。

现在网站已经通过HTTPS协议提供服务,并使用腾讯云SSL证书进行了加密。可以通过浏览器访问网站,并检查地址栏中的锁图标以确认SSL证书已正确安装,发现使用https://xiaoming886.top可以安全访问。

总结

本文讲解了如何在腾讯云上获取SSL证书,并将其配置到Nginx服务器上,整体来说比较简单,但是对于新手来说无从下手,如果对于nginx不熟悉的同学更加寸步难行,本文也是把踩过的坑分享出来,比如上述SSL模块报错和SSL证书读取位置。通过以上步骤,可以为网站提供安全的HTTPS连接,保护用户的数据安全啦。

我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 一、腾讯云SSL证书获取
  • 二、Nginx配置SSL证书
    • 上传SSL证书到服务器
      • Nginx配置SSL证书
        • 安装SSL模块
        • 总结
        相关产品与服务
        SSL 证书
        腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档