我在主 apache2.conf 文件中有以下配置:
#restrict access to key store
<Directory "/var/www/sites/siteabc/vr3587/keys”>
Options FollowSymlinks
AllowOverride None
Require host siteabc.com
</Directory>
这些是我的虚拟主机文件指令:
DocumentRoot /var/www/sites/siteabc/vr3587
ServerName www.siteabc.com
<Directory "/var/www/sites/siteabc/vr3587”>
Options +FollowSymLinks
Options -Indexes
AllowOverride All
order allow,deny
allow from all
Header set Access-Control-Allow-Origin "https://www.siteabc.com"
</Directory>
ServerAlias siteabc.com
SSLEngine on
SSLCertificateFile /etc/ssl/certs/siteabc_cert.pem
SSLCertificateChainFile /etc/ssl/certs/siteabc_gd_bundle-g2-g1.crt
SSLProtocol +TLSv1.2
我需要限制对 /var/www/sites/siteabc/vr3587/keys 的访问,主机 siteabc.com 除外,以保护 hls 播放器加密密钥免受未经授权的访问。使用上述配置,完全不允许访问 /var/www/sites/siteabc/vr3587/keys,并且视频不会播放。如果我注释掉 apache2conf 文件中的行,则可以恢复不受限制的访问。在无访问的情况下,apache 日志中的错误为:“原因:无法获取远程主机名”和“Require host siteabc.com 的授权结果:被拒绝”。主机 siteabc.com 已启用 PTR(使用来自服务器的 nslookup 检查)。我无法使用 Require ip 或 Require local,因为这是我们网站上的 hls 播放器 - 它需要 Require host。为此已经工作了好几天 - 任何帮助都将不胜感激。