对于单个域名的ssl
证书来说,我们只能用在单一的common name
上,例如www.mydomain.com
,而mydomain.com
或者eagle.mydomain.com
是没有办法使用的。除非我们购买了wildcard
的证书,否则我们需要使用Apache
的mod_rewrite
来达到跳转到ssl
证书所保护的地址上。
我们需要达到的效果:将所有对于mydomain.com/any/file/path
及http://www.mydomain.com/any/file/path
的请求跳转到对应的https://www.mydomain.com/any/file/path
上
要完成以上的步骤,我们需要使用apache
的vhosts
。这里默认我们已经建立了ssl
版本的vhost
文件,并且https://www.mydomain.com
可以正常访问。本文使用的环境是Ubuntu 16.04 + Apache 2.4
,如果你的apache
版本较老,请根据官方文档做相应调整。
基本的思路就是新建www.mydomain.com.conf
这个vhosts
文件,然后添加上Rewrite Rules
。
好了,那我们就开始。首先从默认的vhosts
文件复制出我们需要的配置文件: