CentOS下给apache服务添加SSL证书
Posted eyes++
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS下给apache服务添加SSL证书相关的知识,希望对你有一定的参考价值。
下面将介绍两种证书的安装方法
一:使用openssl生成安全证书
一般不建议使用自己生成的证书,因为可能会被浏览器判断为不受信任,从而导致访问网站会被浏览器拦截。因此这种生成方式了解了解就行。
首先需要安装openssl,当然一般linux发行版都会自带
yum install openssl
然后就可以先生成一个公钥:
openssl genrsa -out eyes.key 2048
默认会在执行目录下生成一个key文件,然后就利用key文件生成证书:
openssl req -new -key eyes.key -out eyes.csr
然后需要输入一些信息:
然后需要给自己签证,一般是需要CA机构做签证的,但耗时耗力,还是自己给自己签证吧:
openssl x509 -req -days 365 -in eyes.csr -signkey eyes.key -out eyes.crt
然后是安装apache的ssl模块:
yum install mod_ssl
安装完成后进入apache的conf.d目录,会发现多出了一个文件:
cd /etc/httpd/conf.d
但我的apache默认配置目录不是conf.d
而是conf.modules.d
目录,我们可以先将ssl.conf
移入conf.modules.d
目录:
cd /etc/httpd
mv conf.d/ssl.conf conf.modules.d
我们可以通过编辑这个文件进行ssl配置:
vim ssl.conf
默认https占用443端口
我们需要将证书路径改为自己的证书路径,但为了整洁,我们先将home目录下的证书移入对应目录:
cd /home
mv eyes.crt /etc/pki/tls/certs
mv eyes.key /etc/pki/tls/private
rm eyes.csr
然后修改ssl.conf
:
如果报错:SSLCertificateFile: file '/var/www/miq/vmdb/certs/server.cer' does not exist or is empty
,可以先看看是否是路径错误,如果不是路径错误,就可能是selinux的问题:
setenforce 0
这样就好了,打开浏览器看看效果:
意料之中的警告,因为这个证书是自己签发的,不受浏览器信任,但点开Advanced也能进去:
二:使用厂商提供的ssl证书
有很多厂商都可以提供ssl证书,但是一般ssl证书会很贵,而且按年收费,但是阿里云每年有20个免费的ssl证书,这类免费证书有被破译的风险,但是对于自己玩玩的网站或者只为了通过微信小程序的审核,还是可以用的:阿里云免费ssl证书地址
下载后安装步骤跟上面一样,就不多赘述了。
如果有兴趣了解更多相关内容,欢迎来我的个人网站看看:瞳孔的个人空间
以上是关于CentOS下给apache服务添加SSL证书的主要内容,如果未能解决你的问题,请参考以下文章
阿里云服务器Centos上Apache安装SSL证书配置Https
OpenSSL证书生成及Mac上Apache服务器配置HTTPS(也适用centos)
在腾讯云服务器centos7.5系统中lamp(centos7.5+apache+mysql+php)环境中安装ssl证书