.htaccess htaccess拒绝来自http

hvvq6cgz  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(122)

我知道如何使用apache重写引擎将http请求重定向到https。
然而,对于手头的任务(一个通过https与服务器交换数据的应用程序),我们实际上想要的是HTTP请求被简单地拒绝。

​Deny from %{HTTPS}=off

有办法做到这一点吗?

lymgl2op

lymgl2op1#

你不能简单地把指令的一部分拼凑在一起。你需要遵守这些指令的语法,否则引擎无法理解它们。并且会抛出一个内部语法错误。
您需要做两件事:
1.您需要开始监控您的http服务器的错误日志文件。您可以在那里看到这些错误。* 如果不在开发环境中监控该文件,您就无法实现Web逻辑 *。您当然也应该经常在生产环境中查看它。
1.你应该开始阅读你正在使用的工具的文档。apache http服务器项目是一个很好的例子,说明了高质量的打开你的产品:它提供了一个很好的文档,它是精确的,并且有很多很棒的例子。2从重写模块的文档开始:https://httpd.apache.org/docs/current/mod/mod_rewrite.html
这是一个实现您所想到的逻辑的建议:

RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^ - [F]

其它变型也是可能的,例如:

RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^ - [F]

相关问题