很长一段时间以来,我都没有在我的 Linux 服务器上使用 https,因为我没有找到一个符合我需求的 CA。现在,Let's Encrypt(一个提供免费证书的新 CA)推出了他们的公开测试版,所以我立即从他们那里获得了证书。
我现在将所有请求重定向到 https,到目前为止一切正常,但由于我已经使用 http 很长时间了,我需要一些时间来重写一些依赖于 http 网站的客户端软件。不幸的是,我无法立即部署更新,因为更新机制现在也坏了 :/
所以我的问题是:有没有办法在 apache2 中禁用单个文件的 https?我更喜欢使用简单的 .htaccess 文件的解决方案,但其他任何方法也都值得赞赏。
这已添加到 VirtualHost*:80通过 letsencrypt:
RewriteEngine on
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,QSA,R=permanent]
答案1
在您的默认虚拟主机上,尝试以下操作:
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} !^/path/to/your_single_file.html$
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,QSA,R=permanent]