Apache部署HTTPS的坑

系统:CentOS7.1

环境:MYSQL5.7、PHP5.6

今天部署小程序网站的时候,遇到了一些难解的问题,让我很是苦恼,所幸最终结果是好的,今天特地来记录一下,防止下次遇到同样的问题。我是使用oneinstack一键包来部署的环境.

注意:因为一键包的便捷性,已经默认安装好SSL模块,如果不使用一键包,最好先安装一下SSL的模块,否则的话必定会出错。

1.先上传代码至服务器,然后找到apache的配置目录(/usr/local/apache/conf)打开httpd.conf文件

#去掉下面代码的注释
LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so

2.修改httpd-ssl.conf文件(/usr/local/apache/conf/extra)

#更新下列代码(重要)(需要同单独网站配置文件中的同名配置值一致)
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
#更新链接证书的路劲(必须存在,否则503)
SSLCertificateFile "/usr/local/apache/ssl/1601194_xcx.chinaname.cn.pem"
SSLCertificateKeyFile "/usr/local/apache/ssl/1601194_xcx.chinaname.cn.key"
#去掉注释
SSLEngine on

3.创建单独网站的配置文件,因为在httpd.conf文件中有Include conf/vhost/*.conf这么一句代码,所以直接在vhost中创建以.conf结尾的文件即可。

#主要配置文件
<VirtualHost *:443>
ServerAdmin admin@haokaikai.cn
DocumentRoot "本地路径"
ServerName 网站地址
SSLEngine on
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLCertificateFile "pem证书链地址"
SSLCertificateKeyFile "key秘钥地址"
ErrorLog "/data/wwwlogs/error_apache.log"
CustomLog "/data/wwwlogs/access_apache.log" common
<Files ~ (\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)$>
Order allow,deny
Deny from all
</Files>
<FilesMatch \.php$>
SetHandler "proxy:unix:/dev/shm/php-cgi.sock|fcgi://localhost"
</FilesMatch>
<Directory "/data/wwwroot/xiaochengxu">
SetOutputFilter DEFLATE
Options FollowSymLinks ExecCGI
Require all granted
AllowOverride All
Order allow,deny
Allow from all
DirectoryIndex index.html index.php
</Directory>
<Location /server-status>
SetHandler server-status
Order Deny,Allow
Deny from all
Allow from 127.0.0.1 
</Location>
</VirtualHost>

#80端口(301跳转)
<VirtualHost *:80>
DocumentRoot "本地路径"
ServerName 网络链接
<Directory 本地路径>
Options -Indexes
AllowOverride All
Require all granted
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R=301,L]
</Directory>
</VirtualHost>

Apache重启命令:/usr/local/apache/bin/apachectl start

THE END
分享
二维码
< <上一篇
下一篇>>