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证书

apache 怎么添加ssl证书

Apache2.4配置ssl

将 SSL 添加到 Apache 服务器