Siv*_*han 5 apache httpserver http-headers
我们有一个在 weblogic 应用服务器上运行的 web 应用程序(JQuery 和 Spring)。应用服务器前面有一个apache http服务器。所有传入的请求都将通过 Web 服务器到达应用程序服务器。
现在我们有一个要求,我们必须验证传入的 http 请求标头中的值,如果存在,则必须将请求发送到应用程序服务器。如果没有,我们将阻止请求,然后向最终用户显示一个静态错误页面。
我想知道我们是否可以在apache http服务器中实现这个逻辑。请指教。
您可以使用 mod_rewrite 来完成此操作。您没有包含确切的设置,但如果您有 mod_proxy 类型配置,您只想确保重写不会干扰正常流量的通过。一般来说,在您的 Apache 配置中,您将:
举一个非常简单的例子,如果您正在查询字符串中查找一个键,并且如果它不存在则禁止访问(403),您将执行如下操作:
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} !somekey
RewriteRule ^.*$ - [F,L]
Run Code Online (Sandbox Code Playgroud)
这可以像您希望的那样复杂,您可以将条件链接在一起(隐式 AND 或显式 or 与 [OR] 标志),并且您可以提供实际的页面而不是禁止的消息。
与往常一样,在修改之前备份您的配置,并且使用 .htaccess 对其进行测试可能是一个好主意(尽管出于性能原因,最好将其移至生产负载的实际配置)。
重写文档也是一个很好的资源:
http://httpd.apache.org/docs/current/mod/mod_rewrite.html
这确实是非常好的文档。对于某些指针 - 您将需要查找标志([L] = 最后;[P] = 视为代理请求;[F] = 禁止等),并且您将需要通常熟悉正则表达式语法的人员
归档时间: |
|
查看次数: |
4402 次 |
最近记录: |