Apache重写仅用于有效的URL

时间:2015-06-08 02:11:19

标签: apache mod-rewrite nginx url-rewriting lighttpd

我有一个纯粹的个人网站(Ubuntu上的Apache2),并且为了防止外人知道指定域中有一个有效的HTTP服务器,它使用了神秘的URL。例如,

  

http://somesite.com

根据设计,

将返回HTTP 404错误。但

  

http://somesite.com/RJv968sr0S860Iq1VfW2P28dqgCTqNUOm51AMuQL

可能会做一些有用的事情。我确信这不是一个完全证明方法来阻止闯入者,机器人和黑客,但它仍然存在。

现在,除了模糊URL之外,我还使用HTTPS进行进一步保护,我为此Apache重写了对HTTPS的HTTP请求。

  RewriteEngine ON
  RewriteCond %{REMOTE_ADDR} !192\.168\.
  RewriteCond %{REMOTE_ADDR} !127\.0\.0\.1
  RewriteCond %{HTTPS} off
  RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI}

它完全符合预期。

不幸的是,它并不是非常复杂,它还会重写无效的URL请求。例如,无效网址http://somesite.com将被重写为同等无效的网址https://somesite.com。但是,这种重写会让某人知道某些HTTP服务器附加到域名。

我想修复我的重写规则,以便Apache不会重写任何无效的URL。这可能吗?如果不是Apache,那么nginx或lighttpd呢?如果是这样,我该如何实现呢?

0 个答案:

没有答案