需求
实现 https://www.grabbyte.com 访问网站,浏览器不带不安全的提示。
申请SSL证书
域名是阿里云购买的,我这里直接申请了免费证书。
将申请到的证书下载回来,分别是cert.key和chain.pem文件,利用winscp,上传到服务器的目录下:
/usr/local/apache/conf/ssl.crt/www.grabbyte.com/chain.pem
/usr/local/apache/conf/ssl.crt/www.grabbyte.com/cert.key
注意:我安装的apache位置在/usr/local/apache/下面,你需要根据情况更换路径。
配置证书
配置Apache
找到apache的配置文件
/usr/local/apache/conf/httpd.conf
去掉前面的#号
LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
然后,在配置文件中,增加一条 www.grabbyte.com 虚拟主机配置
/usr/local/apache/conf/extra/httpd-ssl.conf
添加下面内容:
<VirtualHost *:443>
SSLEngine On
SSLHonorCipherOrder on
DocumentRoot "/home/www/htdocs/www/public"
ServerName www.grabbyte.com:443
ServerAdmin admin@www.grabbyte.com
<Directory "/home/www/htdocs/www">
Options -Indexes +FollowSymlinks
AllowOverride All
Require all granted
</Directory>
<FilesMatch \.php$>
SetHandler "proxy:unix:/home/www/logs/php-fpm.sock|fcgi://127.0.0.1"
</FilesMatch>
SSLCertificateFile conf/ssl.crt/www.grabbyte.com/cert.pem
SSLCertificateKeyFile conf/ssl.crt/www.grabbyte.com/cert.key
#SSLCertificateChainFile conf/ssl.crt/www.grabbyte.com/chain.pem
BrowserMatch "MSIE [2-5]" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"
</VirtualHost>
注意
开放防火墙
在服务器上,防火墙也需要开放443端口才能访问到。不然无法访问。
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --reload
修改文件夹权限
在访问后提示无权限,需要修改对应文件夹的权限。
chown -R www:www /home/www/htdocs/www