操作系统: CentOS 7
HTTPD版本: 2.4.38
配置httpd.conf
1、开启vhost
取消 httpd.conf 中的 Include conf/extra/httpd-vhosts.conf 前面的注释符号
2、开启ssl支持
取消 httpd.conf 中的 Include conf/extra/httpd-ssl.conf 前面的注释符号
3、加载rewrite模块
取消 httpd.conf 中的 LoadModule rewrite_module modules/mod_rewrite.so 前面的注释符号
4、加载ssl模块
取消 httpd.conf 中的 LoadModule ssl_module modules/mod_ssl.so 前面的注释符号
5、加载http2模块
取消 httpd.conf 中的 LoadModule http2_module modules/mod_http2.so 前面的注释符号
6、加载 socache_shmcb 模块
取消 httpd.conf 中的 LoadModule socache_shmcb_module modules/mod_socache_shmcb.so 前面的注释符号
6、配置vhost文件
进入 extra 目录,打开 httpd-vhosts.conf 文件,把里面的内容删除,加入以下内容
###根据实际情况修改即可
###开启重定向,重定向301到https
<VirtualHost *:80>
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://yisca.cn/$1 [R=301,L]
</VirtualHost>
####开启ssl监听443端口
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /usr/local/apache2/conf/ssl/server.crt
SSLCertificateKeyFile /usr/local/apache2/conf/ssl/server.key
ServerAdmin 390514083@qq.com
DocumentRoot /usr/www/html
ServerName yisca.cn
<Directory "/usr/www/html">
Options -Indexes +FollowSymLinks
AllowOverride none
Require all granted
</Directory>
ErrorLog "/usr/local/apache2/logs/httpd.error_log"
CustomLog "/usr/local/apache2/logs/httpd.access_log" common
</VirtualHost>
7、配置ssl文件
进入 extra 目录, 打开 httpd-ssl.conf 文件,修改如下内容
####根据实际情况修改定位ssl证书的crt证书文件和key私匙文件
SSLCertificateFile "/usr/local/apache2/conf/ssl/server.crt" SSLCertificateKeyFile "/usr/local/apache2/conf/ssl/server.key"
8、开启http/2
打开 httpd-vhost.conf 文件,在 VirtualHost *:443 监听内容一项下面添加如下内容
ProtocolsHonorOrder On
Protocols h2 h2c http/1.1
#####大概在如下位置
SSLEngine on
SSLCertificateFile /usr/local/apache2/conf/ssl/server.crt
SSLCertificateKeyFile /usr/local/apache2/conf/ssl/server.key
ProtocolsHonorOrder On
Protocols h2 h2c http/1.1
ServerAdmin 390514083@qq.com
DocumentRoot /usr/www/html
9、隐藏版本号
#httpd.conf文件最后添加两行内容
ServerTokens Prod
ServerSignature off