我正在运行 LAMP 系统(在 Pi 上),并且收到很多恶意请求,这些请求似乎会导致 302 状态代码,例如:
140.143.16.158 - - [06/Mar/2020:18:32:32 +0100] "GET /TP/public/index.php HTTP/1.1" 302 540 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6)"
据我了解,我的 Apache 网络服务器指示临时重定向。但它会重定向到哪里?我只是不知道我的网络服务器如何处理这个问题(正确吗??),也不知道在哪里或检查什么。有人能解释一下吗?
将提供解决这个问题所需的一切。例如,这是我的 000-默认.conf(未注明评论):
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine On
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
</VirtualHost>
任何帮助都感激不尽!
答案1
没关系,我想我已经明白了。对于那些感兴趣的人:
重写规则被设置为从 http 永久重定向到 https,因此我期望得到 301 代码(永久重定向)。但事实证明,当仅使用 [R] 时,Apache 发出 302(临时重定向)而不是 301。
让我感到困惑的是“临时”部分。我将重写规则标志更改为 [R=301,L](顺便说一下,L 代表最后处理规则)。我会监控我的访问日志来确认我是否正确。