将博客迁移阿里云并且切换成https解析的过程

  过年了,既然https是大势所趋,所以我也要将技术博客切换成https,同时迁移到国内的阿里云服务器上,这样网站会更加的稳定并且速度更快,怎么买服务器和备案就按下不表了,网上有一大堆的教程,最关键其实是阿里云并没有免费的ssl证书,去各大网站上查了一圈,只有腾讯云有免费的一年期ssl的证书,去腾讯云申请一下就可以了,然后将证书下载下来,并且解压后有三个文件,将这三个文件上传到服务器上。

  修改apache服务器的httpd.conf配置文件添加

  
<IfModule ssl_module>
  <IfDefine SSL>
  Include etc/extra/httpd-ssl.conf
  </IfDefine>
  </IfModule>

  然后修改httpd-ssl.conf文件

  添加下面的内容:
  
  
<VirtualHost _default_:443>

#   General setup for the virtual host
DocumentRoot "/opt/baidu"
ServerName baidu.cn:443
ServerAdmin you@example.com
ErrorLog "/opt/lampp/logs/error_log"
TransferLog "/opt/lampp/logs/access_log"

#   SSL Engine Switch:
#   Enable/Disable SSL for this virtual host.
SSLEngine on

#你的域名证书所在的位置
SSLCertificateFile "/opt/zs_v3u/baidu.crt"
SSLCertificateKeyFile "/opt/zs_v3u/baidu.key"
SSLCertificateChainFile "/opt/zs_v3u/1_root_bundle.crt"




<FilesMatch ".(cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
</FilesMatch>
<Directory "/opt/lampp/cgi-bin">
    SSLOptions +StdEnvVars
</Directory>


BrowserMatch "MSIE [2-5]"
         nokeepalive ssl-unclean-shutdown
         downgrade-1.0 force-response-1.0

#   Per-Server Logging:
#   The home of a custom SSL log file. Use this when you want a
#   compact non-error SSL logfile on a virtual host basis.
CustomLog "/opt/lampp/logs/ssl_request_log"
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x "%r" %b"

</VirtualHost> 

  最后重启服务就搞定了,总体上要比nginx的设置简单一些,需要注意的是,如果非https的网址曾经被蜘蛛收录过,那么可以在重写文件上添加301的重定向,并且将www的域名定向到主域名上,编辑.htaccess文件,添加下面的内容


  
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [R=301,L]

RewriteCond %{HTTP_HOST} www.baidu.cn$ [NC]
RewriteRule ^(.*)$ https://baidu.cn/$1 [R=301,L]


  至此,大功告成,没有什么大坑,所以说网站迁移https的过程还是非常简单的,http毕竟有被劫持的风险,所以希望各大网站尽快迁移https。