/* 点击爆炸效果*/

Http安装SSL安全证书解决谷歌Cookie丢失问题

1.https://web03.cn/blog/168遇到的问题网上有两种解决方式,我用的第一种方式解决,并配置了SSL安全证书

2.安全证书配置使用腾讯云免费的ssl,每个身份证可以免费领取一年的SSL安全证书

腾讯云SSL证书领取链接:https://cloud.tencent.com/act/pro/ssl?fromSource=gwzcw.3965051.3965051.3965051&utm_medium=cpc&utm_id=gwzcw.3965051.3965051.3965051

3.进行腾讯云实名认证后领取SSL安全证书

4.安全证书配置来自腾讯云官方文档    

5.SSL安装及配置中注意的问题

(1)前端配置SSL证书进行反向代理后端必须也需要配置SSL证书

(2)前端请求接口正式环境必须是有SSL正式的域名映射

(3)443端口需要在阿里云或者腾讯云等服务器的安全组中开启安全组

(4)关闭Linux服务器防火墙或者在Linux服务器防火墙中添加443端口

(5)在同一域内前端访问后端接口不用配置安全证书应该也可以

(6)配置后端和前端的SSL证书需要申请两个SSL安全证书

腾讯云官网链接 :https://cloud.tencent.com/document/product/400/6814

域名型(DV)免费证书申请流程

注册帐号

腾讯云平台申请证书首先需要注册腾讯云账号并且完成实名认证。

  1. 新用户请单击 腾讯云官网 右上角的【免费注册】,进入注册页面。
  2. 请您 注册腾讯云账号,即可登录腾讯云控制台。
  3. 完成 实名认证,方可继续申请证书。

申请免费证书

说明:

 

  • 免费证书提供二级域名证书申请。
  • 亚洲诚信范围内(不一定在腾讯云申请)的同一主域最多只能申请20张免费证书,申请时请注意该域名是否在其他服务商平台存在亚洲诚信下的证书,避免申请达到上限无法申请。更多详情可参考 免费证书名额相关问题
  • 如需要给二级域名进行配置证书,请您单独对该二级域名进行申请证书。
  • 免费证书到期后如需继续使用证书,请重新申请并安装。
    1. 登录 SSL证书管理控制台,选择【证书管理】>【证书列表】,单击【申请免费证书】。如下图所示:
    2. 在弹出的【确认证书类型】窗口中,单击【确定】。如下图所示:
    3. 填写证书申请内容,例如 qcloud.comcloud.tencent.comdemo.test.qlcoud.com,并单击【下一步】。如下图所示:
      • 算法选择:勾选所需证书的加密算法。
      • 证书绑定域名:即绑定证书的域名,请填写单个域名。例如 tencent.com、ssl.tencent.com。
      • 申请邮箱:请输入您的邮箱地址。
      • 证书备注名:可选,请输入证书的备注名称,不可超过200字。
      • 私钥密码:可选,为了保障私钥安全,目前不支持密码找回功能,请您牢记私钥密码。
        注意:

        如需部署腾讯云负载均衡、CDN 等云服务,请勿填写私钥密码。

 

域名验证指引

操作场景

本文档将指导您在证书管理控制台申请证书或新增域名资料时,如何选择域名验证方式与如何验证域名所有权。

域名验证方式

腾讯云 SSL 证书支持以下域名验证方式:

验证方式使用场景使用限制
自动添加 DNS 须使用腾讯云 DNS 解析 DNSPod 的域名。
DNS 验证 适用于在任何平台进行解析的域名。 需具备域名的解析权限。
文件验证 使用 DNS 验证存在限制的情况下。 操作过程比较复杂,需要一定的建站基础。
自动 DNS 验证 需具备域名的解析权限。
自动文件验证 操作过程比较复杂,需要一定的建站基础。

 

操作步骤

自动添加 DNS

  1. 如您满足以下场景以及限制条件,则可显示并使用自动添加 DNS 快速帮助您添加解析记录。
    • 使用场景
    • 使用限制:须使用腾讯云 DNS 解析 DNSPod 的域名。
  2. 系统将为该域名自动添加指定的 DNS 解析记录,并自动完成域名所有权验证。
  3. 证书颁发完成或域名信息审核通过后,解析记录可手动清除。

DNS 验证

注意:

以下操作仅针对域名对应的域名解析商在腾讯云的情况下,若不在腾讯云,请您到域名对应的域名解析商处进行解析。

  1. 登录 证书管理控制台
  2. 选择【验证中】的证书,单击【查看验证】,进入 “验证域名” 页面,并在规定时间内完成验证操作。如下图所示:
  3. 添加解析记录。
    • 若您的域名(例如 www.tencent.com)对应的域名解析商在腾讯云。
      1. 请您先找到验证域名(步骤2图例)页面,获取主机记录以及记录值。
      2. 登录 DNSPod DNS 解析管理控制台 ,查看已申请证书的域名,并单击操作栏的【解析】,进入【记录管理】页面。
      3. 单击【添加记录】,根据不同证书类型添加 DNS 记录。
        • Wotrus 品牌证书的域名验证记录类型为 CNAME 的 DNS 记录。具体操作请查看 CNAME 记录
        • 其他品牌证书的域名验证记录类型为 TXT 的 DNS 记录。具体操作请查看 TXT 记录
    • 若您的域名对应的域名解析商不在腾讯云,请您先找到验证域名(步骤2图例)页面,获取主机记录以及记录值,并到域名对应的域名解析商处添加解析记录。
  4. 添加成功后,证书对应域名添加记录值的系统会定时检查,若能检测到并且与指定的值匹配,即可完成域名所有权验证。如下图所示:
    说明:

    解析生效时间一般为10分钟 - 24小时,但各地解析的最终生效取决于各运营商刷新时间,请您耐心等待。

  5. 请耐心等待 CA 机构扫描审核。证书颁发完成或域名信息审核通过后,解析记录可手动清除。

文件验证

  1. 登录 证书管理控制台
  2. 选择【验证中】的证书,单击【查看验证】,进入 “验证域名” 页面,并在规定时间内完成验证操作。如下图所示:
  3. 请您登录服务器,并且确保域名已指向该服务器。
    说明:

    若您的域名对应的域名解析商在腾讯云,将域名指向您的服务器请参考 A 记录

  4. 在网站根目录下,创建指定的文件。该文件包括文件目录、文件名、文件内容。
    说明:

    网站根目录是指您在服务器上存放网站程序的文件夹,大致这几种表示名称:wwwroot、htdocs、public_html、webroot 等。

    • 示例
      您的网站根目录为 C:/inetpub/wwwroot,您可以在 wwwroot 文件夹下创建一个如下表所示的文件:
      文件目录文件名文件内容
      /.well-known/pki-validation fileauth.txt 2019080603......ep939jlu32alzeo
    • 注意事项
      Windows 系统下,需通过执行命令行的方式创建以点开头的文件和文件夹。
      例如,创建 .well-known 文件夹,请打开命令提示符,执行命令 mkdir .well-known 进行创建。如下图所示:
  5. 在 “验证域名” 页面,您可以单击【查看域名验证状态】检查配置是否成功。
    说明:

     

    • 支持 HTTP 和 HTTPS,任意一个均可访问。
    • 文件验证需要直接响应200状态码和文件内容,不支持任何形式的跳转。
  6. 请耐心等待 CA 机构扫描审核。证书颁发完成或域名信息审核通过后,文件和目录即可清除。

自动 DNS 验证

注意:

以下操作仅针对域名对应的域名解析商在腾讯云的情况下,若不在腾讯云,请您到域名对应的域名解析商处进行解析。

  1. 登录 证书管理控制台,单击左侧菜单【我的资料】,进入 “我的资料” 管理页面。
  2. 在 “我的资料” 管理页面,单击需要验证域名信息的公司名称,即可查看已申请的管理人信息。
  3. 单击您需要验证域名信息的管理人姓名,进入您的 “审核信息” 页面。如下图所示:
  4. 单击【域名信息】页签,选择您需要进行验证的域名,并单击【查看验证】。如下图所示:
  5. 在 “验证域名” 页面中,请根据页面提示,并在规定时间内添加解析记录。如下图所示:
    • 若您的域名(例如 www.tencent.com)对应的域名解析商在腾讯云。
      1. 请您先找到验证域名(步骤4图例)页面,获取主机记录以及记录值。
      2. 登录 DNS 解析 DNSPod 管理控制台 ,查看新增域名,并单击操作栏的【解析】,进入【记录管理】页面。
      3. 单击【添加记录】,添加 CNAME 解析记录。具体操作请查看 CNAME 记录
    • 若您的域名对应的域名解析商不在腾讯云,请您先找到验证域名(步骤4图例)页面,获取主机记录以及记录值,并到域名对应的域名解析商处添加解析记录。
  6. 添加成功后,请耐心等待 CA 机构扫描审核,若能检测到并且与指定的值匹配,即可完成审核。
    说明:

     

    • 解析生效时间一般为10分钟 - 24小时,但各地解析的最终生效取决于各运营商刷新时间,请您耐心等待。
    • 配置完成的 CNAME 记录不能进行删除或修改操作,删除或修改之后代理将无效。
    • 已配置 CNAME 记录的域名则不能再配置 TXT 记录,否则将可能导致无法通过域名验证。
    • 操作过程如果出现问题,请您 联系我们
  7. 在 “验证域名” 页面中,您可以单击【立即验证】检查添加 CNAME 解析记录是否成功。

自动文件验证

  1. 登录 证书管理控制台,单击左侧菜单【我的资料】,进入 “我的资料” 管理页面。
  2. 在 “我的资料” 管理页面,单击需要验证域名信息的公司名称,即可查看已申请的管理人信息。
  3. 单击您需要验证域名信息的管理人姓名,进入您的 “审核信息” 页面。如下图所示:
  4. 单击【域名信息】页签,选择您需要进行验证的域名,并单击【查看验证】。如下图所示:
  5. 在 “验证域名” 页面中,请根据页面提示,并在规定时间内完成验证操作。如下图所示:
  6. 请您登录服务器,并且确保域名已添加 A 记录指向该服务器。
    说明:

    若您的域名对应的域名解析商在腾讯云,将域名指向您的服务器请参考 A 记录

  7. 请您在服务器上启动一个 Web 服务(也可在业务运行的 Web 服务上进行配置)并监听端口80或443,将文件验证路径地址反向代理为验证域名(步骤5图例)中提供的反向代理地址。
    腾讯云提供以下两种 Web 服务配置指引,您可以根据您实际情况进行参考配置:
说明:

 

  • 支持 HTTP 和 HTTPS,任意一个可访问均可。
  • 配置完成的反向代理不能删除或者修改,删除或修改之后代理将无效。
  • 可以支持301/302跳转,跳转次数不超过2次,跳转目的地址跟被检测域名需在同一主域。对于 www 开头的二级域名,例如 www.tencent.com,除了对该域名进行文件验证,还需对其主域名 tencent.com 添加文件验证。
    1. 配置反向代理后,请耐心等待 CA 机构扫描验证,扫描验证成功后即可通过审核。
    2. 在 “验证域名” 页面中,您可以单击【立即验证】检查配置是否成功。
    3. 操作场景

      本文档指导您如何在 Nginx 服务器中安装 SSL 证书。

      说明:

       

      • 本文档以证书名称 cloud.tencent.com 为例。
      • Nginx 版本以 nginx/1.18.0 为例。
      • 当前服务器的操作系统为 CentOS 7,由于操作系统的版本不同,详细操作步骤略有区别。
      • 安装 SSL 证书前,请您在 Nginx 服务器上开启 “443” 端口,避免证书安装后无法启用 HTTPS。具体可参考 服务器如何开启443端口?
      • SSL 证书文件上传至服务器方法可参考 如何将本地文件拷贝到云服务器

      前提条件

      • 已准备文件远程拷贝软件,例如 WinSCP(建议从官方网站获取最新版本)。
      • 已准备远程登录工具,例如 PuTTY 或者 Xshell(建议从官方网站获取最新版本)。
      • 已在当前服务器中安装配置 Nginx 服务。
      • 安装 SSL 证书前需准备的数据如下:
        名称说明
        服务器的 IP 地址 服务器的 IP 地址,用于 PC 连接到服务器。
        用户名 登录服务器的用户名。
        密码 登录服务器的密码。
      说明:

      在腾讯云官网购买的云服务器,您可以登录 云服务器控制台 获取服务器 IP 地址、用户名及密码。

      操作步骤

      证书安装

      1. 已在 SSL 证书管理控制台 中下载并解压缩 cloud.tencent.com 证书文件包到本地目录。
        解压缩后,可获得相关类型的证书文件。其中包含 Nginx 文件夹和 CSR 文件:
        • 文件夹名称:Nginx
        • 文件夹内容:
          • 1_cloud.tencent.com_bundle.crt 证书文件
          • 2_cloud.tencent.com.key 私钥文件
        • CSR 文件内容: cloud.tencent.com.csr 文件
          说明:

          CSR 文件是申请证书时由您上传或系统在线生成的,提供给 CA 机构。安装时可忽略该文件。

      2. 使用 “WinSCP”(即本地与远程计算机间的复制文件工具)登录 Nginx 服务器。
      3. 将已获取到的 1_cloud.tencent.com_bundle.crt 证书文件和 2_cloud.tencent.com.key 私钥文件从本地目录拷贝到 Nginx 服务器的 /usr/local/nginx/conf 目录(此处为 Nginx 默认安装目录,请根据实际情况操作)下。
      4. 远程登录 Nginx 服务器。例如,使用 “PuTTY” 工具 登录。
      5. 编辑 Nginx 根目录下的 conf/nginx.conf 文件。修改内容如下:
        说明:

         

        • 此操作可通过执行 vim /usr/local/nginx/conf/nginx.conf 命令行编辑该文件。
        • 由于版本问题,配置文件可能存在不同的写法。例如:Nginx 版本为 nginx/1.15.0 以上请使用 listen 443 ssl 代替 listen 443 和 ssl on
         
        server {
            #SSL 访问端口号为 443
            listen 443 ssl; 
         #填写绑定证书的域名
            server_name cloud.tencent.com; 
         #证书文件名称
            ssl_certificate 1_cloud.tencent.com_bundle.crt; 
         #私钥文件名称
            ssl_certificate_key 2_cloud.tencent.com.key; 
            ssl_session_timeout 5m;
         #请按照以下协议配置
            ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
         #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
            ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
            ssl_prefer_server_ciphers on;
            location / {
            #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
                root html; 
                index  index.html index.htm;
            }
        }
      6. 在 Nginx 根目录下,通过执行以下命令验证配置文件问题。
         
        ./sbin/nginx -t
        • 若存在,请您重新配置或者根据提示修改存在问题。
        • 若不存在,请执行 步骤7
      7. 重启 Nginx,即可使用 https://cloud.tencent.com 进行访问。

      HTTP 自动跳转 HTTPS 的安全配置(可选)

      如果您需要将 HTTP 请求自动重定向到 HTTPS。您可以通过以下操作设置:

      1. 根据实际需求,选择以下配置方式:
        • 在页面中添加 JS 脚本。
        • 在后端程序中添加重定向。
        • 通过 Web 服务器实现跳转。
        • Nginx 支持 rewrite 功能。若您在编译时没有去掉 pcre,您可在 HTTP 的 server 中增加 return 301 https://$host$request_uri;,即可将默认80端口的请求重定向为 HTTPS。修改如下内容:
          说明:

           

          • 未添加注释的配置语句,您按照下述配置即可。
          • 由于版本问题,配置文件可能存在不同的写法。例如:Nginx 版本为 nginx/1.15.0 以上请使用 listen 443 ssl 代替 listen 443 和 ssl on
           
          server {
          listen 443 ssl;
          #填写绑定证书的域名
          server_name cloud.tencent.com; 
          #证书文件名称
          ssl_certificate  1_cloud.tencent.com_bundle.crt; 
          #私钥文件名称
          ssl_certificate_key 2_cloud.tencent.com.key; 
          ssl_session_timeout 5m;
          ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
          ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
          ssl_prefer_server_ciphers on;
          location / {
             #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。  
             root html;
            index index.html index.htm;
          }
          }
          server {
          listen 80;
          #填写绑定证书的域名
          server_name cloud.tencent.com; 
          #把http的域名请求转成https
          return 301 https://$host$request_uri; 
          }
          后端代理配置

          server {
          #SSL端口
          listen 443 ssl;
          #域名或者ip名
          server_name www.baidu.com;
              ssl_certificate /etc/nginx/conf.d/1_zsts.icreat.co_bundle.crt;
          ssl_certificate_key /etc/nginx/conf.d/2_zsts.icreat.co.key;
          ssl_session_timeout 5m;
          ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
          ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
          ssl_prefer_server_ciphers on;
          #配置代理
          location / {
          proxy_pass http://后端ip:后端端口;

          }
          }
          server {
          #端口号
          listen 80;
          #域名或者ip
          server_name www.baidu.com;
          #http请求重定向到https请求
          return 301 https://$host$request_uri;

          }
           
      2. 若修改完成,重启 Nginx。即可使用 http://cloud.tencent.com 进行访问。

 

posted @ 2021-03-03 09:38  tom的猫  阅读(554)  评论(0编辑  收藏  举报