从0开始搭建网站的HTTPS认证服务(阿里云+Nginx)

nginx 2023-04-26 818次浏览

前端时间分享了一篇搭建完https网站无法访问的文章,这里再记录下如何搭建从0开始给网站搭建https服务的过程,以阿里云+Nginx为例,其他云厂商和服务器类似,大家参照即可

什么是HTTPS

这里站提一份百科的说明:HTTPS (全称:Hypertext Transfer Protocol Secure ),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。这个系统提供了身份验证与加密通讯方法。它被广泛用于万维网上安全敏感的通讯,例如交易支付等方面 。

之所以升级主要是因为安全问题,HTTP对于攻击者而言成本太低,其次对于搜索引擎收录判定也很不友好,各大主流浏览器,HTTP的访问都会在左上角提示·不安全·,访问者信任感较低。

废话不多说,接下来切入正题吧

证书申请

1.首先第一步当然是证书的申请,域名通过后,一般就可以去申请证书了,这里以阿里云为例:控制台找到数字证书管理服务,左侧菜单栏:SSL证书,如图:
阿里云SSL证书

2.我们这里选择免费证书,每个域名可以创建20个,有效期1年,到期需要重新申请更换

阿里云SSL证书

3.点击创建证书,接下来会看到下面列表出现一条申请记录,点击左侧证书申请,填写相关个人及域名绑定信息

阿里云SSL证书创建

阿里云SSL证书申请

4.接下来就是等证书审核了,一般正常半个小时内会审核通过,正常签发

阿里云SSL证书正常签发

5.点击下载按钮,根据自己的需要下载,这里我们下载Nginx服务

阿里云SSL证书/秘钥下载

6.接下来就是在自己的Nginx服务器虚拟主机填写证书、秘钥和相关配置信息了

#以下属性中,以ssl开头的属性表示与证书配置有关。
server {
    #配置HTTPS的默认访问端口为443。
    #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
    #如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
    listen 443 ssl;

    #填写证书绑定的域名
    server_name <yourdomain>;
    root html;
    index index.html index.htm;

    #填写证书文件名称
    ssl_certificate cert/<cert-file-name>.pem;
    #填写证书私钥文件名称  
    ssl_certificate_key cert/<cert-file-name>.key;

    ssl_session_timeout 5m;
    #表示使用的加密套件的类型
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    #表示使用的TLS协议的类型,您需要自行评估是否配置TLSv1.1协议。
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;

    ssl_prefer_server_ciphers on;
    location / {
        #Web网站程序存放目录
        root html;
        index index.html index.htm;
    }
}

7.配置完成后,保存,重启Ngnix

nginx -s reload

8.重新打开网站,这时候看到左侧浏览器出现一个小锁,恭喜你,说明配置已经成功了

HTTPS配置成功

问题:

有些小伙伴配置成功后无法访问,curl后网站超时或访问不通,这里可以看下服务是否正常支持openssl以及防火墙是否有拦截。

[Linux CentOS7 开启80,443端口外网访问权限]

喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址