在我windows + apache2.4.38 上尝试了网上很多方法无效,最后找到一个答案就是:

apache SSL支持协议是全局设置,需要放在VirtualHost外面。

开启ocsp需要保持格式在命令上一行注释,否则可能会报错。不要问为什么,完全靠试出来的。

我的VirtualHost配置记录:


Listen 443

# 添加 SSL 协议支持协议,去掉不安全的协议
SSLProtocol All -TLSv1

#开启ocsp
SSLUseStapling on   
SSLCompression off 
#缓存位置  需要mod_socache_shmcb模块
SSLStaplingCache "shmcb:logs/stapling-cache(150000)" 
#ocsp装订正常缓存超时3600秒
SSLStaplingStandardCacheTimeout 3600    
#ocsp装订错误缓存超时600秒
SSLStaplingErrorCacheTimeout 600    

<VirtualHost *:443>
DocumentRoot "D:/blog"
ServerName blog.gamecf.cn
# SSL功能打开,如果在Virtualhost 出现这句,则仅作用于虚拟机站点配置范围,这个虚拟机站点全部使用SSL通信,如果出现在Virtualhost外,则作用于全局,整个服务器都使用 SSL(HTTPS)通信,不能采用HTTP通信,所以通常都在Virtualhost中加这句。
SSLEngine on
# 修改加密套件
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
# 证书公钥配置
SSLCertificateFile D:/gamecf.cn.crt
# 证书私钥配置
SSLCertificateKeyFile D:/gamecf.cn.key
# 开启HTTP/2.0
Protocols h2 http/1.1
# 支持HTTP严格传输安全(HSTS)
Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"
# 支持HPKP
Header set Public-Key-Pins "pin-sha256=\"klO23nT2ehFDXCfx3eHTDRESMz3asj1muO+4aIdjiuY=\"; pin-sha256=\"633lt352PKRXbOwf4xSEa1M517scpD3l5f79xMD9r9Q=\"; max-age=2592000; includeSubDomains"
<Directory "/">
    Require all granted 
    AllowOverride All
    Options Indexes FollowSymLinks ExecCGI
    Require host ip
</Directory>
</VirtualHost>

相关文章:
https://codeday.me/bug/20181107/358027.html

标签: none

添加新评论