阿里云服务器Centos上Apache安装SSL证书配置Https
程序员文章站
2022-03-24 12:41:48
小编最近想学习一下小程序的开发,然后发现小程序的开发需要域名为Https协议,所以就特地去配置了一下,配置成功了就放出来和大家一起分享 ......
首先我们先去阿里云申请一个免费的ssl证书(https://common-buy.aliyun.com/?spm=5176.7968328.1266638..5e971232bzmsp5&commoditycode=cas#/buy)如下图:
申请通过之后,签发了证书,我们就去控制台下载,下载apache版本的证书就好了
然后在服务器的httpd目录下面新建一个cert的文件夹,把下载好的证书通过ftp放到该文件夹下面:
然后确保服务器安装了openssl和openssl-devel,httpd-devel,没有安装的话用yum安装一下就好了
yum install openssl;
yum install openssl-devel;
yum install httpd-devel;
然后去配置apache的配置文件httpd.conf
loadmodule ssl_module modules/mod_ssl.so #去掉前面的注释,没有的话就自己加上去加载ssl模块,去modules文件夹下面能找到mod_ssl.so文件,如果没有那就是mod_ssl模块没有安装正确
include conf/extra/httpd-ssl.conf #去掉注释,没有这个文件的话就去conf.d下面找ssl.conf是一样的导入进来就好了,自行把路径替换一下,没有的话自己建一个
#在文件尾加入下面的配置,可以让http重定向httpds
rewriteengine on
rewritecond %{server_port} !^443$
rewriterule ^/?(.*)$ https://%{server_name}/$1 [l,r]
然后去配置ssl.conf(httpd-ssl.conf)
sslengine on
sslprotocol all -sslv2 -sslv3
sslciphersuite all:!adh:!export:!sslv2:rc4+rsa:+high:+medium:+low:!rc4:
sslhonorcipherorder on
#在页面底部配置virtualhost如下,如果有多个证书可以配置多个virtualhost
<virtualhost *:443>
documentroot "项目地址绝对路径"
servername https://域名
serveralias https://域名
sslengine on
sslprotocol all -sslv2 -sslv3
sslciphersuite all:!adh:!export:!sslv2:rc4+rsa:+high:+medium:+low:!rc4:
sslcertificatefile 证书公钥文件绝对路径
sslcertificatekeyfile 证书私钥文件绝对路径
sslcertificatechainfile 证书链绝对路径
<directory "项目绝对路径">
options followsymlinks execcgi
allowoverride all
order allow,deny
allow from all
require all granted
</directory>
</virtualhost>
记得在httpd.conf里面也配置一个同项目的virtualhost
做完上面这些步骤记得要开放https默认的443端口,然后重启apache服务器就完成https的配置了
service httpd restart