分类 HTTPS 下的文章

1、申请免费的ssl
目前可以免费申请的ssl证书的有以下的服务商
A、腾讯云 (TrustAsia Technologies, Inc.) 可免费一年 (具体看官网的ssl产品)
B、阿里云 DigiCert Inc(具体看官网的ssl产品)
C、Let's Encrypt(免费3个月,可自动续期)

申请成功后,会得到以下这种文件
范例1:阿里云forapache
58.jpg
范例2:腾讯云for all(apache Nginx iis)
40.jpg

2、下面是Apache配置教程

2-1 apache conf 下创建ssl目录及站点目录用于存放证书某站点或域名的证书文件,比如D:/Apache/conf/ssl/kinmor-com

2-2 将以上注册成功后的证书文件上传到该目录下:
举例如:
D:/Apache/conf/ssl/kinmor-com/1_root_bundle.crt
D:/Apache/conf/ssl/kinmor-com/2_www.kinmor.com.crt
D:/Apache/conf/ssl/kinmor-com/3_www.kinmor.com.key

2-3 配置apache的http.conf,
A、把LoadModule ssl_module modules/mod_ssl.so前面的#注释去掉————启用ssl
B、把Include conf/extra/httpd-vhosts.conf前面的#注释也去掉————启用虚拟目录域名绑定。
C、在Include conf/extra/httpd-ssl.conf的位置,默认是带#注释的,为不影响使用,我另外创建一个vhostssl.conf文件放在apache/conf/extra/下,保存。看下图:68.jpg

2-4 将以下代码贴到vhostssl.conf文件,具体的路径要进行修改,换成您的位置,保存

Listen 443
<VirtualHost *:443>
    DocumentRoot "D:\www\www.kinmor.com"
    ServerName www.kinmor.com
    ServerAlias www.kinmor.com
SSLEngine on
SSLProtocol TLSv1 TLSv1.1 TLSv1.2
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
SSLCertificateFile  "D:\Apache\conf\ssl\kinmor-com\public.pem" 
SSLCertificateKeyFile "D:\Apache\conf\ssl\kinmor-com\214272553820512.key"
SSLCertificateChainFile "D:\Apache\conf\ssl\kinmor-com\chain.pem"
  <Directory "D:\www\www.kinmor.com">
      Options FollowSymLinks ExecCGI
      AllowOverride All
      Order allow,deny
      Allow from all
      Require all granted
  </Directory>
</VirtualHost>

说明:我的项目路径为D:wwwwww.kinmor.com\

2-5 重启Apache

3、测试.

浏览器输入:https://www.kinmor.com 看到下面表示测试成功。
788.jpg

4、重定向 http:\ ☞ https:\
在.htaccess文件中添加以下内容

RewriteEngine On
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]

下面粘贴thinkcmf下的.htacess文件

<IfModule mod_rewrite.c>
  Options +FollowSymlinks -Multiviews
  RewriteEngine On
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php?s=$1 [QSA,PT,L]
</IfModule>

1-确保环境已经部署SSL模块

//检查是否安装ssl
httpd -M | grep ssl
//安装mod和openssl
yum install openssl
yum install mod_ssl

2-检查和启动ssl

cd /etc/httpd/conf.d/

3-引入ssl配置,在http.conf去掉下面的注释
Include conf/extra/httpd-ssl.conf

4-虚拟vhost配置

<VirtualHost *:443>
DocumentRoot /home/www/wwwroot/zhibo
ServerName zhibo.kinmor.com:443
SetEnv no-gzip
SSLEngine on
SSLCertificateFile "/etc/letsencrypt/live/kinmor.com/fullchain.pem"
SSLCertificateKeyFile "/etc/letsencrypt/live/kinmor.com/privkey.pem"
    <Directory /home/www/wwwroot/zhibo>
        SetOutputFilter DEFLATE
        Options FollowSymLinks
        AllowOverride All
        Order Deny,Allow
        Require all granted
        DirectoryIndex index.php index.html index.htm
    </Directory>
</VirtualHost>

5-重启httpd

service httpd restart

最近小鱼哥要做微信内置浏览器播放的小视频,o(︶︿︶)o 唉,微信和QQ自带的浏览器居然【解析视频异常,请重试】h264编码的MP4,经过多方打探和测试,发现地址是https就可以播放。这个应该跟微信的安全机制有关,没办法,只能将站点部署成https啦。可ssl证书卖得好贵哦,幸好在wdcp和lamp等论坛,发现let's Ensencrypt和塞班可以申请免费的SSL,就是麻烦点要续期,好了废话不多说,直接上干货,下面介绍在linux(centos6.4 64bit)下的申请。

1、下载letsencrypt

git clone https://github.com/letsencrypt/letsencrypt

01.jpg
2、打开目录letsencrypt

cd letsencrypt

3、检查和验证(这里可能会触发安装python)

./certbot-auto --help all

02.jpg
4、申请证书,将下面的邮箱和域名换成你的

./certbot-auto certonly --standalone --email guyuelangyu@163.com -d ldbzx.com -d zhibo.ldbzx.com

03.jpg

这里我安装时候出现80端口占用,所以多了小插曲

停止httpd

service httpd stop

04.jpg
5、再次申请证书
./certbot-auto certonly --standalone --email guyuelangyu@163.com -d ldbzx.com -d zhibo.ldbzx.com
05.jpg
重启httpd
service httpd start
06.jpg

6、申请成功后,/etc/letsencrypt/live/ldbzx.com(这个域名和上面的一致)下面会出现域名证书
07-1.jpg

这里就代表申请成功了,至于怎么部署看小鱼哥另外一篇文章。
07.jpg

说明:Let's Encrypt证书是有效期90天的,需要我们自己手工更新续期才可以。
./certbot-auto certonly --renew-by-default --email guyuelangyu@163.com -d ldbzx.com -d zhibo.ldbzx.com