导语:xampp中开启https很简单,因为它已经是开启状态了,你只要配置上传自己的ssl证书,然后修改一下vhost的配置就可以了。
准备工作
当然,你需要购买证书,一般个人站点购买支持通配符域名的证书就可以了,便宜的据说是50元一年,当然,叶子是听说的,叶子的站点还没有转移到ssl上面。
有朋友在这个my.getssl.cn网站购买,他买了三年,因为叶子自己没有买过,所以不支持也不反对也不推荐,只是朋友说了这个网站,叶子自己马克一下,免得忘记。
上传证书
将证书上传到下面的两个目录,一个是crt的目录,一个是key的目录。
存放后缀为crt的证书。
/opt/lampp/etc/ssl.crt
存放后缀为key的证书。
/opt/lampp/etc/ssl.key
当然,你要放在其他目录也可以的,放在这两个目录是为了方便管理。
修改httpd-ssl.conf
下载httpd-ssl.conf到本地修改,或者直接在服务器上修改。
httpd-ssl.conf的存放目录为:
/opt/lampp/etc/extra/httpd-ssl.conf
这个文件里面其实已经说明如何配置https,叶子还是贴出自己写的:
<VirtualHost *:443> ServerAdmin admin@test.com DocumentRoot "/opt/lampp/htdocs/test/web" ServerName www.test.com ServerAlias www.test.com test.com SSLEngine on SSLCertificateFile "/opt/lampp/etc/ssl.crt/www.test.crt" SSLCertificateKeyFile "/opt/lampp/etc/ssl.key/www.test.key" <Directory "/opt/lampp/htdocs/test/web/"> Options FollowSymLinks AllowOverride All Require all granted </Directory> # ErrorLog "logs/www.test.com-error_log" # CustomLog "|/opt/lampp/bin/rotatelogs /opt/lampp/logs/www.test.com-access_log_%Y-%m-%d 86400 480" common </VirtualHost>
注意最后屏蔽的是分割日志的配置,如果需要可以开启。
另外,肯定是要监听443端口的,https用的是443端口,那么如果有防火墙,请打开它。
将http跳转到https上
此跳转需要在httpd-vhosts.conf里面配置。
<VirtualHost *:80> ServerAdmin admin@test.com ServerName www.test.com RewriteEngine On RewriteRule ^/(.*)$ https://www.test.com/$1 [R=301,L] </VirtualHost>
将顶级域名跳转到www的https二级域名上
假如顶级域名test.com需要跳转到https的www.test.com上,应该怎么做。
http跳转
<VirtualHost *:80> ServerAdmin admin@test.com ServerName test.com RewriteEngine On RewriteRule ^/(.*)$ https://www.test.com/$1 [R=301,L] </VirtualHost>
注意此跳转在httpd-vhosts.conf里面配置,放在www二级域名之前。
https跳转
<VirtualHost *:443> ServerAdmin admin@test.com ServerName test.com SSLEngine on SSLCertificateFile "/opt/lampp/etc/ssl.crt/www.test.com.crt" SSLCertificateKeyFile "/opt/lampp/etc/ssl.key/www.test.com.key" RewriteEngine On RewriteRule ^/(.*)$ https://www.test.com/$1 [R=301,L] </VirtualHost>
注意此跳转在httpd-ssl.conf里面配置,放在www二级域名之前。
结束
你学会了吗?