• 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 进行访问。
  • 相关阅读:
    Spring 之注解事务 @Transactional
    哈佛图书馆上的训言
    给入门程序员20条编程经验
    软件开发原则
    生活通用——最佳微小说系列
    springmvc图片文件上传接口
    java写入excel文件poi
    springMVC发送邮件
    SpringMVC整合MongoDB开发 架构搭建
    springMVC操作mongoDB增删改查
  • 原文地址:https://www.cnblogs.com/Hello-TomCat/p/14472677.html
Copyright © 2020-2023  润新知