TA的每日心情 | 倒霉 2020-11-28 20:31 |
---|
签到天数: 18 天 [LV.4]偶尔看看III
|
本文假设你的apache是通过 yum的方法安装的。(手工编译安装的请立刻关闭此文,难到你还不会SSL配置?)
启动apache命令:- systemctl start httpd.service (注意不是:service httpd start ,老命令了)
复制代码 默认apache是没有安装SSL模块的,所以需要安装,接着使用命令:安装结束后,在你的/etc/httpd/conf.d 下面会出现一个 SSL.conf ,否则是没有的
打开SSL.conf,要配置一下。
首先来到<VirtualHost _default_:443> 这样的字样。寻找、替换或者自己打入如下配置:
DocumentRoot “这里填你网站的根目录”
ServerName 域名:443
接下来就是配置证书路径:(这里建议大家去网上找个SSL购买证书的网站,譬如“沃通”,然后去申请个临时免费的证书。不要自签名,没啥意思。网上又不要钱,临时用完了再申请一次)
申请好证书后,一般会给你三个文件。一个是根证书(譬如root_bundle.crt),一个是服务端证书(譬如www.xxx.com.crt),一个是证书私钥(譬如www.xxxx.com.key).大家注意后缀名,自己想一想。
然后把这三个证书通过ftp传到你喜欢的文件夹中。
一般来说 我们网站都只要服务端单向认证,也就是不需要验证客户端,那么只要配置以下两个部分
1、SSLCertificateFile 这里放你的服务端证书路径
2、SSLCertificateKeyFile 放私钥文件路径
如果你还需要客户端服务端双向,那么除了上述部分还要加入以下:
1、SSLCACertificateFile root_bundle.crt的路径
2、SSLVerifyClient require
其余部分一边度娘一边改,这里就不多说了。以上是一个最简单的apache SSL配置。配好后一定要:
1、重启apache ,不要问为什么,不告诉你
2、尝试用https://xxxx.com 的方式来访问一下对不对
3、如果没有域名,那么你可以更改hosts文件来实现。不要问怎么改hosts文件,不想解释,太累
注意:
1、有时候会提示SSLCertificateKeyFile: file 'xxx/xxx/xxx.key' does not exist or is empty,这是SELinux服务的原因,setforce 0 把该服务先关闭
2、在开启https后会造成原有的http服务中伪静态失效,原因有可能是之前伪静态配置在httpd.conf中,而现在不再是80端口提供服务,因此要将伪静态的那段规则复制一份到ssl.conf的<VirtualHost></VirtualHost>中间
|
|