• https与http的访问,应对苹果ATS验证问题


    为应对2017年1月1日苹果ATS的问题,微信、微博等等APP要求挂载的网页必须https访问,需要添加ssl认证。

    一、SSL认证

    选取了阿里云提供的免费SSL,使用期限为一年。电话咨询阿里客服,免费版SSL可以通过苹果的ATS验证。

    登录阿里云进入管理控制台,找到云盾-证书服务

    购买证书,选择免费DV SSL,DV是个人申请证书,品牌为Symantec,只能选择一个域名,不包括通配符

    支付

    支付成功后进入证书管理

    补全证书

    输入要认证的域名,因为是免费版,所以要详细到子域名,不能填写主域名加通配符的形式。提交之后域名不能进行修改,仔细核对下

    填写个人信息,域名验证类型可以选择DNS和文件两种方式,DNS验证需要在您申请的域名下添加解析一个域名,验证成功之后即可删除,如果你的域名解析绑定在阿里云的云解析中,勾选下,授权系统会自动完成验证。文件验证则需要在域名指向的文件夹下添加一个文件,验证成功之后即可删除。

    1、DNS验证

    使用系统生成CSR,用系统生成可以在阿里的后台直接获取所需的秘钥文件,不用再怕丢失私钥了,什么时候需要什么时候下载,然后就可以提交审核了

    点击进度,提示未完成域名授权验证,需要添加一条DNS 的记录

    将这条记录添加进你的网站解析中,记录类型选择CHAME

    添加完成后就可以等待认证通过了,应该会很快,半小时内就通过了。

    2、文件验证

    阿里建议windows系统和使用阿里oss服务器的使用DNS,经验证,windows系统并不影响文件验证的方式

    系统生成CSR,然后提交审核。

    查看进度,弹出提示框,按提示框中的操作进行。

    首先下载fileauth.htm文件,不要编辑该文件,然后将文件上传至你申请域名指向的文件夹下的隐藏文件夹/.well-known/pki-validation/,如果没有就自己创建文件夹

    系统以ubuntu,apache服务器为例

    查看sudo nano /etc/apache2/sites-enabled/000-default.conf文件

    blog.rainbowz.cn指向的文件路径为/var/www/html/wordpress

    进入文件wordpress:  cd /var/www/html/wordpress/

    没有发现文件夹

    创建文件夹/.well-known/pki-validation/

    mkdir .well-known

    rz命令上传刚才下载的fileauth.htm文件

    然后用浏览器访问链接

    显示密钥则成功。

    二、apache配置SSL

    SSL证书审核通过后下载证书

    把/etc/apache2/sites-available/default-ssl 做个软连接到 /etc/apache2/sites-enabled/000-default-ssl:

    ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/000-default-ssl.conf

    1、开启SSL模块

    a2enmod ssl

    2、启用SSL

    a2ensite default-ssl

    3、下载文件上传至

    /etc/ssl/www.rainbowz/
    
    

    4、配置虚拟主机

    vi /etc/apache2/sites-enabled/000-default-ssl.conf
    
    添加
    <VirtualHost _default_:443>
     ServerAdmin webmaster@localhost
     ServerName www.rainbowz.cn
     DocumentRoot /var/www/html/wordpress
     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined
     SSLEngine on 
     SSLCertificateFile /etc/ssl/www.rainbowz/public.pem
     SSLCertificateKeyFile /etc/ssl/www.rainbowz/213981309200254.key
     SSLCertificateChainFile /etc/ssl/www.rainbowz/chain.pem
     <FilesMatch ".(cgi|shtml|phtml|php)$">
     SSLOptions +StdEnvVars
     </FilesMatch>
     <Directory /usr/lib/cgi-bin>
     SSLOptions +StdEnvVars
     </Directory>
     BrowserMatch "MSIE [2-6]" 
     nokeepalive ssl-unclean-shutdown 
     downgrade-1.0 force-response-1.0
     BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
    
     </VirtualHost>
    
    5、重启apache2
    service apache2 restart
    
    至此,可以用https访问了!
    
    【注意:编写系统的时候外部链接不要写http或https,如://cdn.bootcss.com/jquery/1.11.2/jquery.min.js
    尽量使用相对链接,避免https访问时出错】
    
    【windows系统xampp配置SSL】
    1、在C:wampinapacheapache2.4.9conf下新建ssl文件夹存放证书文件
    2、打开C:wampinapacheapache2.4.9confhttpd.conf文件
    LoadModule ssl_module modules/mod_ssl.so 
    Include conf/extra/httpd-ssl.conf 
    去掉#
    3、修改C:wampinapacheapache2.4.9confhttpd-ssl.conf 文件
    添加
    
    <VirtualHost _default_:443>
     DocumentRoot "C:wampwwwvote"
     ServerName XXX.xxxxxxx.com:443
     ServerAdmin admin@example.com
     ErrorLog "C:/wamp/bin/apache/apache2.4.9/logs/error.log"
     TransferLog "C:/wamp/bin/apache/apache2.4.9/logs/access.log"
    
     SSLEngine on
    
     SSLCertificateFile "C:/wamp/bin/apache/apache2.4.9/conf/ssl/gzh/public.pem"
    
     SSLCertificateKeyFile "C:/wamp/bin/apache/apache2.4.9/conf/ssl/gzh/213980337690246.key"
    
     SSLCertificateChainFile "C:/wamp/bin/apache/apache2.4.9/conf/ssl/gzh/chain.pem"
    
     <FilesMatch ".(cgi|shtml|phtml|php)$">
     SSLOptions +StdEnvVars
     </FilesMatch>
     <Directory "C:/wamp/bin/apache/apache2.4.9/cgi-bin">
     SSLOptions +StdEnvVars
     </Directory>
    
     BrowserMatch "MSIE [2-5]" 
     nokeepalive ssl-unclean-shutdown 
     downgrade-1.0 force-response-1.0
    
     CustomLog "C:/wamp/bin/apache/apache2.4.9/logs/ssl_request.log" 
     "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x "%r" %b"
    
    </VirtualHost> 
    
    
    SSLCertificateFile 后接public.pem文件存放路径
    SSLCertificateKeyFile 后接213980337690246.key文件存放路径
    SSLCertificateChainFile 后接chain.pem文件存放路径
    
    如果apache重启失败,打开cmd窗口,到apache/bin目录下,运行httpd
    根据错误提示修改,大多为log文件路径错误问题。
    

  • 相关阅读:
    xcode多target管理不同的环境(pod多target配置)
    OC与swift混编 #import "项目名-Swift.h"失效问题
    令人困惑的strtotime
    krpano 学习第一天
    git 全量同步分支
    MYSQL 什么时候用单列索引?什么使用用联合索引?
    _blocking_errnos = {errno.EAGAIN, errno.EWOULDBLOCK} pip
    Mac php 装imagick扩展 菜鸟教程
    git仓库搬家
    文章简介 字符串截取
  • 原文地址:https://www.cnblogs.com/rainbowz/p/7410558.html
Copyright © 2020-2023  润新知