zoukankan      html  css  js  c++  java
  • Aliyun SSL 证书签发&安装


    HTTPS

    SSL证书 签发 和 应用

    - SSL证书服务(Alibaba Cloud SSL Certificates Service)是由阿里云联合中国及中国以外地域多家数字证书颁发机构( CA,Certificate Authority),在阿里云平台上直接提供的数字证书申请和部署服务。SSL证书服务帮助您以最小的成本将服务从HTTP转换成HTTPS,实现网站或移动应用的身份验证和数据加密传输。
    
    # 阿里云SSL证书和HTTPS的关系
    - 可以通过阿里云SSL证书服务购买SSL证书,并向CA中心提交证书申请,直到证书成功签发;您将已签发的证书安装到Web服务器后,则Web服务将会通过HTTPS加密协议来传输数据。
    
    - HTTPS加密传输协议可激活客户端浏览器到网站服务器之间的SSL加密通道(SSL协议),从而实现高强度双向加密传输,防止传输数据被泄露或篡改。
    
    # 为什么网站需要HTTPS
    - 防劫持、防篡改、防监听:使用SSL证书实现网站的HTTPS化,可以对网站用户与网站间的交互访问全链路数据进行加密,从而实现传输数据的防劫持、防篡改、防监听。
    
    - 提升网站的搜索排名:使用SSL证书实现网站的HTTPS化后,网站在搜索引擎显示结果中的排名将会更高,有利于提升网站的搜索排名和站点的可信度。
    
    - 提升网站的访问流量:使用SSL证书实现网站的HTTPS化,可以强化网站在用户侧的身份可信程度,使网站用户能更安心地访问网站,提升网站的访问流量。
    

    证书购买

    # 1. 支持选购的证书类型
    - 阿里云SSL证书服务支持购买DV证书、OV证书和EV证书三种类型的证书。不同类型证书的安全性和适用的网站类型不同,具体如下所示。
    

    wechat_20210517015107.png

    证书申请

    - 购买SSL证书订单实例后,您还必须通过SSL证书服务向CA中心提交证书申请。只有当CA中心审核通过您的证书申请后,才会为您签发证书,然后您才可以将已签发的证书安装到服务器,实现网站HTTPS。
    
    - 参考文档:https://help.aliyun.com/document_detail/98574.htm?spm=a2c4g.11186623.2.10.11743147W9oWm9#concept-wxz-3xn-yfb)
    

    证书安装

    - 通过SSL证书服务购买和签发证书后,可以将已签发的证书下载并安装到Nginx(或Tengine)服务器上。
    
    • 下载证书到本地
    # 1. 登录SSL证书控制台。
    
    # 2. 定位到要下载的证书,单击操作列下的下载。
    
    # 3. 在证书下载页面,定位到Nginx服务器,单击操作列下的下载。该操作会将Nginx服务器证书压缩包下载到本地,并保存在浏览器的默认下载位置。
    

    wechat_20210517020437.png

    # 4. 打开浏览器的默认下载位置,解压已下载的Nginx证书压缩包文件。解压后您将会获得以下文件:
    

    p33690.png

    • 在Nginx独立服务器上安装证书
    1. 登录Nginx服务器

      使用远程登录工具(例如,PuTTY、Xshell)登录服务器。

    2. 执行以下命令,在Nginx安装目录(默认为/usr/local/nginx/conf)下创建一个用于存放证书的目录(命名为cert)。

    # 进入Nginx默认安装目录。如果您修改过默认安装目录,请根据实际配置进行调整。
    $ cd /usr/local/nginx/conf  
    
    # 建证书目录,命名为cert。
    $ mkdir cert  
    

    wechat_20210517021406.png

    1. 使用远程登录工具(例如,PuTTY、Xshell)附带的本地文件上传功能,将本地证书文件和密钥文件上传到Nginx服务器的证书目录(示例中为/usr/local/nginx/conf/cert)。
    • 注意:如果您在申请证书时将CSR生成方式设置为手动填写,请将您手动创建的证书密钥文件上传到/usr/local/nginx/conf/cert目录。

    wechat_20210517021711.png

    1. 编辑Nginx配置文件(nginx.conf),修改与证书相关的配置内容。
    # 备份配置文件
    # nginx.conf默认保存在/usr/local/nginx/conf目录下。如果您修改过nginx.conf的位置,请/usr/local/nginx/conf/nginx.conf替换成修改后的位置。
    $ cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak
    
    # 打开配置文件
    $ vi /usr/local/nginx/conf/nginx.conf
    
    • 修改nginx.conf文件

    yourdomain.com:替换成证书绑定的域名。
    如果您购买的是单域名证书,需要修改为单域名(例如www.aliyun.com);如果您购买的是通配符域名证书,则需要修改为通配符域名(例如*.aliyun.com)。

    cert-file-name.pem:替换成您在步骤3上传的证书文件的名称。
    cert-file-name.key:替换成您在步骤3上传的证书密钥文件的名称。>

    nginx.conf:

    #以下属性中,以ssl开头的属性表示与证书配置有关。
    server {
        listen 443 ssl;
        #配置HTTPS的默认访问端口为443。
        #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
        #如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
        server_name yourdomain.com; #需要将yourdomain.com替换成证书绑定的域名。
        root html;
        index index.html index.htm;
        ssl_certificate cert/cert-file-name.pem;  #需要将cert-file-name.pem替换成已上传的证书文件的名称。
        ssl_certificate_key cert/cert-file-name.key; #需要将cert-file-name.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; #表示使用的TLS协议的类型。
        ssl_prefer_server_ciphers on;
        location / {
            root html;  #站点目录。
            index index.html index.htm;
        }
    }
    

    wechat_20210517022828.png

    注:若使用以上模板配置访问不成功 则使用下面这个模板

    nginx.conf

        # HTTPS server
        #
        server {
            listen       443 ssl;
            server_name  xxx.com;
    
            ssl_certificate      cert/xxx.pem;
            ssl_certificate_key  cert/xxx.key;
    
            ssl_session_cache    shared:SSL:1m;
            ssl_session_timeout  5m;
    
            ssl_ciphers  HIGH:!aNULL:!MD5;
            ssl_prefer_server_ciphers  on;
    
           # location / {
           #     root   html;
           #     index  index.html index.htm;
           # }
           
           # 这是用于转发 其他端口的 如, IP:端口 进行访问时可以通过设置代理变成 IP 访问
           location / {
                proxy_pass http://127.0.0.1:65432;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            }
        }
    
    

    参考文档

    点我传送 - 证书购买

    点我传送 - 证书申请

    点我传送 - 证书安装

    点我传送 - Nginx 安装证书

  • 相关阅读:
    监控Redis集群
    host主机监控规则
    Prometheus自身的监控告警规则
    Prometheus alerts 各种告警规则
    Elasticsearch官方文档离线访问实操指南
    Ceph 存储集群
    采用阿里云 yum的方式安装ceph
    设置HTTP请求自动跳转HTTPS
    jumpserver 2222端口的使用
    安装jumpserver 2.1.2版本遇到的坑
  • 原文地址:https://www.cnblogs.com/HOsystem/p/14814931.html
Copyright © 2011-2022 走看看