共计 2357 个字符,预计需要花费 6 分钟才能阅读完成。
效果展示
申请SSL证书
首先自然是为自己的域名申请SSL证书,可在阿里云申请免费的Symantec证书
待审核完毕后,根据web软件来下载响应的证书,并上传至服务器,移动至Apache目录的cert目录(如果不存在请自行创建)
Apache配置
1、查看mod_ssl模块是否安装,如未安装,则yum install mod_ssl -y进行安装,并进行模块引用
vim /etc/httpd/conf.modules.d/00-ssl.conf(Apache 2.4 yum安装方式路径为此,请根据具体情况引用该模块)
LoadModule ssl_module modules/mod_ssl.so
2、将以下代码添加至主题的functions.php中
//WordPress SSL
add_filter('get_header', 'fanly_ssl');
function fanly_ssl(){
if( is_ssl() ){
function fanly_ssl_main ($content){
$siteurl = get_option('siteurl');
$upload_dir = wp_upload_dir();
$content = str_replace( 'http:'.strstr($siteurl, '//'), strstr($siteurl, '//'), $content);
$content = str_replace( 'http:'.strstr($upload_dir['baseurl'], '//'), strstr($upload_dir['baseurl'], '//'), $content);
return $content;
}
ob_start("fanly_ssl_main");
}
}
3、配置Apache虚拟主机文件
配置虚拟主机文件
vim cloudcared.cn.conf,引入SSL证书
Listen 443
<VirtualHost *:443>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /var/www/html/wordpress
ServerName www.srelife.cn
ServerAlias cloudcared.cn
<Directory "/var/www/html/wordpress">
Options FollowSymLinks
Order allow,deny
Allow from all
AllowOverride all
</Directory>
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
SSLCertificateFile cert/public.pem
SSLCertificateKeyFile cert/214222623180660.key
SSLCertificateChainFile cert/chain.pem
ErrorLog logs/cloudcared.cn/cloudcared.cn-error_log
CustomLog logs/cloudcared.cn/cloudcared.cn-access_log common
<ifModule mod_limitipconn.c>
<location />
MaxConnPerIP 40
</location>
</ifModule>
</VirtualHost>
重定向
要实现访问www.domain.com或domain.com,自动跳转至https://www.domain.com,还需做重定向
复制网站配置文件cloudcared.cn.conf
cp cloudcared.cn.conf cloudcared.conf
vim cloudcared.conf
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /var/www/html/wordpress
ServerName www.srelife.cn
ServerAlias cloudcared.cn
<Directory "/var/www/html/wordpress">
Options FollowSymLinks
Order allow,deny
Allow from all
AllowOverride all
</Directory>
ErrorLog logs/cloudcared.cn/cloudcared.cn-error_log
CustomLog logs/cloudcared.cn/cloudcared.cn-access_log common
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.srelife.cn$1 [R=301,L]
</IfModule>
<ifModule mod_limitipconn.c>
<location />
MaxConnPerIP 40
</location>
</ifModule>
</VirtualHost>
删除SSL配置,加入重定向配置,重启Apache测试即可
至此,访问cloudcared.cn或www.srelife.cn,会匹配到cloudcared.conf网站配置文件,由该文件进行重定向至https://www.srelife.cn,其他80端口域名不受影响,整站HTTPS配置完成。