Linux下Apache开启ssl
首先需要安装openssl和apache的ssl模块,默认ssl模块是不安装的,需要执行:
yum install openssl mod_ssl -y
即可,接下来的配置方法可以安装一下步骤走
1.引入mod_ssl 模块
LoadModule ssl_module modules/mod_ssl.so
2.建立服务器密钥 openssl genrsa -out server.key 1024
说明:这是用128位rsa算法生成密钥,得到server.key文件
3.建立服务器公钥 ,生成服务器证书请求,并按要求填些相关证书信息:
openssl req -new -key server.key -out server.csr
说明:这是用步骤2的密钥生成证书请求文件server.csr, 这一步提很多问题,一一输入,注意Common Name为服务器域名,如果在本机,为本机IP
4.建立服务器证书
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
说明:这是用步骤1,2的的密钥和证书请求生成证书server.crt,-days参数指明证书有效期,单位为天
5.修改httpd-ssl.conf文件
注意在此文件中配置证书和密钥的路径
SSLCertificateFile /etc/httpd/conf/server.crt
SSLCertificateKeyFile etc/httpd/conf/server.key
6.当然我们还需要设置ssl的虚拟主机,HTTPS的默认端口号为443
那就要配置虚拟主机文件,在文件中专门写一个监听443端口的虚拟主机,例如:
DocumentRoot /var/www/html/merchantPlatform
ServerName xxx.xxx.com 这是你的域名
SSLEngine on
SSLCertificateFile /etc/httpd/conf/server.crt
SSLCertificateKeyFile /etc/httpd/conf/server.key
7.重启你的Apache,如果不出状况,你可以使用https访问你的网站了
可以使用httpd -k resatrt 软启动
ps:不过由于,我们的证书不是由第三方机构颁发的,而是我们自己颁发的,所以,访问的时候,浏览器在https协议出会显示红色的斜杠,告诉我们可能有安全隐患