我正在使用Apache 2.2并希望在大多数站点中将X-Frame-Options标头设置为“拒绝”。我可以使用mod_headers无条件地打开它。但是,有一个 CGI 脚本会返回必须装帧的内容,因此我需要为该脚本关闭它。有没有办法做到这一点?
我正在使用 Debian 的 Apache 2.2.9。
我们正在使用 HAProxy 来平衡我们的 websocket 和 Comet 应用程序。后面有一个 HAProxy 和 3 个应用程序在运行。我们使用 HTTP 基本身份验证(将来我们将使用其他类型的身份验证,如 OAuth)来识别连接的用户。
我们不能使用常规循环,因为给定用户的连接最终在同一台服务器上很重要。在哪里并不重要,但重要的是他们使用相同的服务器。
我知道 HAProxy 是一种基于智能 cookie 的方法,但不幸的是,在我们的例子中,有时,同一用户会从不同的机器连接,所以 cookie 不起作用)。
是否可以使用 HTTP Authorization 标头的散列来进行负载平衡?另外,这更复杂,是否可以定义我们自己的散列方法?
后续问题[在威利的回应之后]:
既然可以做balance hdr(Authorization),是否可以只在登录字段上做(解析后)?
另外,确切的算法是什么?我相信它的形式是hash(Authorization) % number_of_backend_server,但是,散列函数是什么,更重要的是,它是否可以调整?(或者我可以添加一个偏移量)。
我问是因为这个应用程序实际上是保持 XMPP 组件连接打开,我需要使用相同的算法对 XMPP 组件进行负载平衡。toXMPP 节中的jid 由 HTTP 标头授权确定。
在 Windows 上使用带有 mod_auth_sspi 和 mod_headers 的 Apache 2.2。我正在尝试将当前经过身份验证的用户传递到 X-Remote-User 标头中的代理目标。
我希望这很简单,但是我已经与 Apache 争论了一个小时,在文档或谷歌中找不到秘诀。
我的配置如下。它使用 Active Directory 正确验证用户,然后将请求代理到位于后面的服务器。但是,不会添加 X-Remote-User 标头。似乎 REMOTE_USER 环境变量不存在。AUTH_USER 也不行。
我知道经过身份验证的用户名在某处可用,但我如何获得它?
ProxyRequests off
ProxyPass /clsoap/ http://127.0.0.1:12001/clsoap/
<Location /clsoap/>
ProxyPassReverse /clsoap/
AuthName "ADTest"
AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
SSPIDomain primary.example.com
SSPIUsernameCase lower
SSPIOfferBasic Off
Require valid-user
RequestHeader set X-Remote-User "%{REMOTE_USER}e" env=REMOTE_USER
RequestHeader set X-Auth-User "%{AUTH_USER}e" env=AUTH_USER
</Location>
Run Code Online (Sandbox Code Playgroud) 我有一个使用视频标签的 HTML5 网络应用程序。根据用户的操作,视频的不同部分将作为响应播放。此视频不超过 5MB。
我需要在客户端上完全下载此视频,否则如果要播放的部分在视频末尾,用户将不得不等待缓冲。实际上,浏览器的行为是询问是否支持范围请求并从我的服务器 nginx 获取 HTTP 206 部分内容响应。
我找到了一种方法来做我想做的事情,使用 xhr2 将整个视频下载为 BLOB。但是,我想知道对于不支持 xhr2 的浏览器,是否有可能让 nginx 拒绝范围请求并发送经典的 HTTP 200 响应,以便浏览器获取整个视频。
那可能吗?非常感谢您的帮助!
我正在尝试使用带有 -f 选项的 haproxy ACL 从文件中读取来拒绝来自特定用户代理的连接(通过匹配用户代理标头的子字符串)。但是它不起作用,它运行时好像忽略了配置。
有更多haproxy经验的人可以指出我缺少什么吗?或者关于如何调试这个 haproxy 配置的一些提示?
我正在运行 haproxy 1.4.18。
这是 haproxy.cfg 的摘录:
listen http 0.0.0.0:80
acl abuser hdr_sub(user-agent) -f /etc/haproxy/abuser.lst
tcp-request content reject if abuser
mode http
server www1 127.0.0.1:8080 maxconn 10000
Run Code Online (Sandbox Code Playgroud)
这是abuser.lst 文件的内容:
# annoying bots
annoyingbot1
annoyingbot2
Run Code Online (Sandbox Code Playgroud) 我一直是对我拥有的两个 WordPress 网站进行暴力攻击的目标。攻击者正在使用旧的 XML-RPC 来放大暴力密码攻击。幸运的是,我们的密码生成得非常好,所以我非常怀疑他永远不会去任何地方。
我一直在使用 iptables 来阻止他再次弹出的请求(总是来自同一个虚拟云提供商),但我更愿意修改服务器,以便每当他的 IP 地址请求任何页面时,他都会收到一个响应告诉他获得生命。大多数请求都是 POST,所以理想情况下,我只想修改响应标头以包含诸如“下次祝你好运!”之类的内容。或同样令人满意的东西。
这可能吗?我远不是 Apache 的专家,所以我不确定实现这会有多困难。但即使需要我花费数小时,满足感也将是无价的。
作为参考,我正在运行 Ubuntu 16.04.2 LTS,Apache 2.4.18 托管 Wordpress 4.7.3。
我有一个 nginx 配置,它由多个位置组成。我想add_header为每个位置添加一个指令,并且我正在检查如何在全球范围内完成此操作。无需修改任何位置,但每个位置都会继承此标头。我对此进行了研究,发现我可以使用包含并add_header在另一个文件中从外部声明。通过实现这种方法,我仍然必须在每个位置写入
这可能是一个非常基本的问题,所以请原谅我的无知
服务器使用哪种方法来响应它收到的请求?
我正在制作一个网络应用程序,并且有一个特定的路线返回一个大的(比如 .iso 图像)文件。因此,当用户单击下载按钮时,我让 JavaScript 请求带有{method: "GET"}.
当下载在用户机器上开始时,服务器使用哪种 HTTP 方法发送文件?
我真的很困惑:
我尝试使用 Apache 服务器 2.4.6 和 headers_module 设置带有环境变量**的自定义 HTTP 标头。
我在端口 80 上的 HTTP VHost 中工作。
一切都按预期进行,基本示例如下:
Header set MyHeader "%D %t"
我已阅读 mod_headers 的 Apache 文档:https://httpd.apache.org/docs/2.4/en/mod/mod_headers.html#header
据说可以使用以下方式访问环境变量
%{ENVVARNAME}e
(ENVVARNAME 是 ENV 变量的名称)
我还阅读了其他帖子,但没有真正有效的答案: Apache set custom header with an environment variable
但我的问题是添加一个标头而不是像 HOSTNAME 环境值那样标识我的 Apache 服务器
Header Set X-Serv %{HOSTNAME}e
不成功:始终显示 X-Serv:{null} 而不是值
SetEnv myvar ${HOSTNAME}
Header set X-Serv %{myvar}e
没有成功:它显示在我的 HTTP 标头中:X-Serv: %{myvar}e
我还尝试了其他一些不同的组合:
请注意:我的 HOSTNAME 环境变量存在,并且它显示在“env”命令中,其中 apache 用户拥有 httpd 进程
任何想法?
我有一个多媒体网站,它让用户可以上传自己的媒体(视频、音乐)或嵌入来自 YouTube、Vimeo 等网站的媒体。
最近,正在宣布新的标题。我试图添加这个标题,但我相信我在某个地方犯了一个错误。
这就是我尝试添加此标题的方式;
Header always set Feature-Policy "vibrate 'self'; usermedia '*'; microphone 'none'; payment 'none'; sync-xhr 'self' mysiteURL.com"
Run Code Online (Sandbox Code Playgroud)
在下面得到这些错误;
Error with Feature-Policy header: Unrecognized feature: 'vibrate'.
(index):1 Error with Feature-Policy header: Unrecognized feature: 'usermedia'.
(index):1 Error with Feature-Policy header: Unrecognized origin: 'mysiteURL.com'.
(index):1 Error with Feature-Policy header: Unrecognized feature: 'vibrate'.
(index):1 Error with Feature-Policy header: Unrecognized feature: 'usermedia'.
(index):1 Error with Feature-Policy header: Unrecognized origin: 'mysiteURL.com'.
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激!
http-headers ×10
apache-2.4 ×3
apache-2.2 ×2
haproxy ×2
http ×2
nginx ×2
blocking ×1
cgi ×1
html5 ×1
http-method ×1
security ×1
socket ×1
useragent ×1
web-server ×1