了解域名SSL证书申请安装

如何将自己的网站的访问协议http转成https协议,就得要求我们必须对域名进行SSl证书申请并应用。

了解域名SSL证书申请安装

了解域名SSL证书申请安装

如何将自己的网站的访问协议http转成https协议,就得要求我们必须对域名进行SSl证书申请并应用。

申请域名

可以在阿里云,腾讯云等平台购买,在此文章不做详细的介绍(因为主角不是它)

证书购买

在阿里云官网搜索SSL相关产品

1

选择免费证书类型

2

免费的不用花钱一直确认就行,

最后在 SSL证书控制台看到 如下图 未签发的证书。

3

购买完成后,就给已申请的域名申请SSL证书。

点击 申请 按钮 写证书申请相关信息

4

提交验证,等待审核成功,证书通过审核如图

5

网站实现http转https需要下载对应应用的证书及密钥,如图

6

下载后包含的文件有如图所示

7

文件介绍

在证书控制台下载Apache版本证书,下载到本地的是一个压缩文件,解压后里面包含_public.crt文件是证书文件,_chain.crt是证书链(中间证书)文件,.key文件是证书的私钥文件(申请证书时如果没有选择系统创建CSR,则没有该文件)。

友情提示.crt扩展名的证书文件采用Base64-encoded的PEM格式文本文件,可根据需要,修改成**.pem**等扩展名。

以Apache标准配置为例,假如证书文件名是a_public.crt,证书链文件是a_chain.crt,私钥文件是a.key。

Apache服务器安装SSL证书

1、将下载的全部文件拷贝到Apahce的安装目录下

/etc/httpd/cert

2、修改apache配置

vim /etc/httpd/conf/httpd.conf

找到如下内容去掉 # 号

#LoadModule ssl_module modules/mod_ssl.so (如果找不到请确认是否编译过 openssl 插件)
#Include conf/extra/httpd-ssl.conf(删除行首的配置语句注释符号“#”,保存后退出)

注意 用yum安装的apache是没有启用ssl的,所有我们需要安装mod_ssl模块提供TLS/SSL功能

3、检查并安装mod_ssl

ls /etc/httpd/modules/ | grep "mod_ssl" #默认没有安装mod_ssl
yum list all mod_ssl  #查看mod_ssl的安装包信息
yum install -y mod_ssl  #安装mod_ssl

4、检查安装mod_ssl安装结果

rpm -qc mod_ssl
#结果显示
/etc/httpd/conf.d/ssl.conf     #mod_ssl的配置文件存放位置
/etc/httpd/conf.modules.d/00-ssl.conf    

5、修改ssl.conf

vim /etc/httpd/conf.d/ssl.conf

配置文件中如下内容修改

# 添加 SSL 协议支持协议,去掉不安全的协议
SSLProtocol all -SSLv2 -SSLv3
# 修改加密套件如下
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
# 证书公钥配置
SSLCertificateFile cert/a_public.crt
# 证书私钥配置
SSLCertificateKeyFile cert/a.key
# 证书链配置,如果该属性开头有 '#'字符,请删除掉
SSLCertificateChainFile cert/a_chain.crt

6、重启apache

systemctl restart httpd

结果提示如下

Redirecting to /bin/systemctl restart httpd.service 
Job for httpd.service failed. See ‘systemctl status httpd.service’ and ‘journalctl -xn’ for details. 

使用如下代码检测httpd配置文件

httpd -t
#结果
[Thu Mar 21 22:46:40.320592 2019] [so:warn] [pid 2255] AH01574: module php7_module is already loaded, skipping
Syntax OK

格式没有错

查看ssl日志

cat /etc/httpd/logs/ssl_error_log
#结果如下
[Thu Mar 21 21:49:26.894751 2019] [ssl:warn] [pid 1344] AH01909: RSA certificate configured for localhost:443 does NOT include an ID which matches the server name
[Thu Mar 21 21:49:26.943935 2019] [ssl:warn] [pid 1344] AH01909: RSA certificate configured for localhost:443 does NOT include an ID which matches the server name
[Thu Mar 21 21:53:36.304483 2019] [ssl:warn] [pid 1433] AH01909: RSA certificate configured for localhost:443 does NOT include an ID which matches the server name
[Thu Mar 21 21:53:36.337643 2019] [ssl:warn] [pid 1433] AH01909: RSA certificate configured for localhost:443 does NOT include an ID which matches the server name

端口443未设置,

修改 httpd.conf

ServerName localhost 改为 ServerName localhost:443

重启apahce正常

在网站根目录下创建.htaccess文件,在最下面添加写入如下语句:

RewriteEngine on
RewriteBase / 
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
上一篇:Python基础整理元组基本操作 下一篇:虚拟机安装Centos7后配置网络

评论

评论(0)

暂无评论