自己搭建的博客是http,为了数据安全,同时提高站点的可行性和搜索排名,我们需要将域名访问的方式改为https访问。
配置环境为:centos 7、Lamp、腾讯云服务器 、开启了443端口(https)
在tencent.com下载ssl证书,用的是apache,则下载的是cloud.tencent.com_apache
,其中包括:
root_bundle.crt
证书文件
cloud.tencent.com.crt
证书文件
cloud.tencent.com.key
私钥文件
CSR 文件内容:cloud.tencent.com.csr
文件
注:CSR 文件是申请证书时由您上传或系统在线生成的,提供给 CA 机构。安装时可忽略该文件。
将 root_bundle.crt
证书文件、cloud.tencent.com.crt
证书文件以及 cloud.tencent.com.key
私钥文件这三个文件上传到Apache服务器的/etc/httpd/ssl
。
若无/etc/httpd/ssl
则自己创建一个。
具体命令:
cd /etc/httpd
mkdir ./ssl
通过xshell或者putty远程登录远程服务器。首次安装的 Apache 服务器,conf.d
、conf
、conf.modules.d
等目录默认在 /etc/httpd
目录下。
在 /etc/httpd/conf
目录下的 httpd.conf 配置文件找到 Include conf.modules.d/*.conf
(用于加载配置 SSL 的配置目录)配置语句,并确认该配置语句未被注释。若已注释,请去掉首行的注释符号(#
),保存配置文件。
在 /etc/httpd/conf.modules.d
目录下的 00-ssl.conf 配置文件找到 LoadModule ssl_module modules/mod_ssl.so
(用于加载 SSL 模块)配置语句,并确认该配置语句未被注释,若已注释,请去掉首行的注释符号(#
),保存配置文件。
若上述配置文件中没有找到相应的语句,请查看是否安装了mod_ssl:
yum list installed |grep mod_ssl
若没有安装则安装:
yum install -y mod_ssl
编辑 /etc/httpd/conf.d
目录下的 ssl.conf 配置文件。修改如下内容:
<VirtualHost 0.0.0.0:443> ? ? DocumentRoot "/var/www/html" ? ? #填写证书名称 ? ? ServerName www.2rin9.cloud ? ? #启用 SSL 功能 ? ? SSLEngine on ? ? #证书文件的路径 ? ? SSLCertificateFile /etc/httpd/ssl/cloud.tencent.com.crt ? ? #私钥文件的路径 ? ? SSLCertificateKeyFile /etc/httpd/ssl/cloud.tencent.com.key ? ? #证书链文件的路径 ? ? SSLCertificateChainFile /etc/httpd/ssl/root_bundle.crt </VirtualHost>
在这里我使用wordpress
搭建的博客,最后需要设置WordPress地址(URL)和站点地址(URL),如下图:
背景:如果你使用http访问你的网站还是只会显示http,这里要实现用http访问你的网站会直接跳转https。
编辑 /etc/httpd/conf
目录下的 httpd.conf 配置文件。(不同版本可能不一样)
请确认该配置文件是否存在LoadModule rewrite_module modules/mod_rewrite.so
。
若存在,请去掉LoadModule rewrite_module modules/mod_rewrite.so
前面的注释符号(#
)号。并执行 步骤4。
若不存在,请执行 步骤3。
请您在/etc/httpd/conf.modules.d
中新建一个 *.conf 文件,例如 00-rewrite.conf。在新建文件中添加以下内容:
LoadModule rewrite_module modules/mod_rewrite.so
在 httpd.conf 配置文件中添加如下内容:
<Directory "/var/www/html"> # 新增 RewriteEngine on RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R] </Directory>
部署ssl证书后还是会显示“网站连接不安全。”
点击浏览器地址栏域名前显示“不安全”字样,查看提示信息。
可能ssl证书过期(解决方法:换证书)
可能你在网页中调用了http的外部资源。(修改成https的外部资源)
域名与证书不符合(换成相应的证书)
检查方法:可以通过DNSPod 域名检测工具来检查你的网站的是否有以上问题。