将博客迁移阿里云并且切换成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。
- Next Post利用grunt插件来压缩js和css文件用来减少http请求,提高页面效率
- Previous Post六年弹指一挥间,没有不散的宴席,感恩