有人可以解释这个HAProxy前端节中的“X-Forwarded-Proto2”头文件吗? frontend main *:443 … reqirep ^(X-Forwarded-Proto:)(.*) X-Forwarded-Proto2:\2 … 我明白,HAProxy正在注入一个HTTP头。 但是为什么在新string的末尾有一个2? 我指的是标题末尾的数字“2”,而不是正则expression式的反向引用。
我试图设置标题,如果来源是一个特定的网站,以解决资源冲突我有(使用Mautic托pipe在一个子域)。 如果我为任何情况添加头文件,当我尝试使用Mautic时出现500错误,但从我的网站访问的资源起作用,因此我只想在我的网站是源时设置它们。 这是我的: RewriteEngine On #preserve HTTP(S) RewriteCond %{HTTPS} =on RewriteRule ^(.*)$ – [env=proto:https] RewriteCond %{HTTPS} !=on RewriteRule ^(.*)$ – [env=proto:http] <IfModule mod_headers.c> SetEnvIfNoCase Origin %{ENV:proto}://mysite.com ENV_SET SetEnvIfNoCase Origin %{ENV:proto}://mautic.mysite.com ENV_SET=0 Header add Access-Control-Allow-Origin %{ENV:proto}://mysite.com env=ENV_SET Header set Access-Control-Allow-Credentials true env=ENV_SET Header set Access-Control-Allow-Methods: GET, POST, PATCH, PUT, OPTIONS env=ENV_SET Header set Access-Control-Allow-Headers: Origin, Content-Type, […]
我需要我的应用程序与其他域上的后端API的工作。 我在Ubuntu 16.04上使用nginx 1.12.1。 我添加到我的主机configuration以下(到位置〜.php $部分): add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range'; add_header 'Access-Control-Expose-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range'; 重新加载nginx并用以下JS进行testing: var req = new XMLHttpRequest(); req.open('GET', 'http://api.mydomain.com/v1/client', false); req.send(null); var headers = req.getAllResponseHeaders(); console.log(headers); 控制台日志是: content-type:application / json; 字符集= UTF-8 这意味着CORS已启用,但没有收到其他头文件。 如何获得其他标题?
看起来nginx在某些情况下包含一个Vary: Accept-Encoding头,而不pipe我通过“gzip_types”指定的文件types。 我对nginx没有太多的经验。 它实际上发送Vary: Accept-Encoding标头取决于请求的User-Agent标头? 另外,是否有一个设置(或设置的组合),可以修改,以阻止nginx发送特定的用户代理的Vary: Accept-Encoding标头? 似乎有不less设置,我根本不知道哪个优先。 我想下面的东西不会达到我想要的东西(我仍然只想要文件types的Vary: Accept-Encoding响应): gzip_disable“*”;
是否有可能在IIS7中,而不使用URL扫描来删除响应头中的服务器? 我已经尝试了以下内容: HTTP模块 我已经安装了一个签名的GAC,并尝试了App_Code目录,都没有工作。 我也尝试设置 HKLM\SYSTEM\CurrentControlSet\Services\HTTP\Parameters\DisableServerHeader registry项1,仍然没有。 编辑:我也试过这个: 社区ISAPIfilter 有没有办法做到这一点?
在我的工作室有人在几年前devise了一个网页,现在客户决定更换服务器(他转移到运行Gen2 SMP的Linux Apache服务器,64位,PHP版本5.3.8,标准MYSQL版本5)。 它突然开始做奇怪的事情。 点击需要login的链接时,页面会使用PHP中的header()函数将您redirect到login页面。 奇怪的是,页面显示这个: 好 服务器遇到内部错误或configuration错误,无法完成您的请求。 请联系服务器pipe理员,[没有给出的地址],并通知他们错误发生的时间,以及你可能已经做了什么可能导致错误。 有关此错误的更多信息可能在服务器错误日志中可用。 HTTP / 1.1 200 OKdate:2012年10月15日星期一17:27:32 GMT服务器:Apache / 2.2.22(Unix)FrontPage / 5.0.2.2635 X-Powered-by:PHP / 5.3.8 Expires:Thu,11月19日1981 08:52:00 GMT Cache-Control:no-store,no-cache,must-revalidate,post-check = 0,pre-check = 0 Pragma:no-cache Keep-Alive:timeout = 5,max = 399连接:保持活动传输编码:分块的内容types:文本/ HTML 232C 然后,页面本身,然后,另一个标题: 0 1f4 好 服务器遇到内部错误或configuration错误,无法完成您的请求。 请联系服务器pipe理员,[没有给出的地址],并通知他们错误发生的时间,以及你可能已经做了什么可能导致错误。 有关此错误的更多信息可能在服务器错误日志中可用。 0 最有趣的是,如果你刷新页面或按下inputURL,它会正确加载。 我一直在检查日志,它只归咎于一个不起眼的图标。 我也检查了.htaccess,一切都是正确的(RewriteBase是/按照意图,唯一的东西有另一个移动^ en /请求的规则?lang = en。有没有人遇到类似的东西? 编辑 […]
我想检查网页中文档的年龄,但不显示! 这里是telnet到服务器的结果: telnet av.hostoi.com 80 Connected to av.hostoi.com. HEAD / HTTP/1.0 HTTP/1.1 200 OK Date: Tue, 23 Oct 2012 16:55:40 GMT Server: Apache X-Powered-By: PHP/5.2.17 Connection: close Content-Type: text/html Connection closed by foreign host. 在另一台服务器上,还包括以下两行: Last-Modified: Fri, 17 Jun 2011 11:17:45 GMT ETag: "2ce392-b1-4a5e688eae840" 所以我search了互联网,据我所知,应该有一个configuration在Apache中设置标题和etag在htaccess? 但是我找不到任何可以certificate这一点的地方。 这里是在Apache的加载模块,如果它会帮助: mod_authn_file模块核心mod_authn_default mod_authz_host mod_authz_groupfile mod_authz_user mod_authz_default mod_auth_basic mod_include负责mod_filter mod_log_config […]
说真的,我找不到一个网页为litespeed讨论这个问题。 在htaccess中使用这种格式“Header set Access-Control-Allow-Origin http://aSite.com ”(和https)发送http响应头中的设置,但是我仍然得到“XMLHttpRequest无法加载https:// aSite.com/aFile.php 。尝试访问来自http来源的https时,“访问控制 – 允许 – 来源”不允许使用aSite.com源。 另外,我没有收到https的响应头,只有这个消息出现在Chrome中。 即使我发送了正确的头文件,服务器是否仍然阻止它? 我在其他地方读到,这有助于添加这些条款 Access-Control-Allow-Headers X-Requested-With Access-Control-Allow-Methods OPTIONS, GET, POST Access-Control-Allow-Headers Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control 但我没有看到这些在我的头。 使用这些,我的PHP文件甚至没有达到(因为他们没有注册任何错误或任何东西),所以它看起来像只来自服务器,但我知道什么。 提前致谢! 更新 由于没有响应头,Prashant似乎表明这是他的错误,因为它在另一台服务器上的服务器问题。 https://stackoverflow.com/questions/11953132/no-response-obtained-while-implementing-cors 任何人都知道如何翻转这个开关? 头现在工作 糟糕的litespeed格式。 应该是这样的。 仍然被拒绝。 Header set Access-Control-Allow-Headers X-Requested-With Header set Access-Control-Allow-Methods OPTIONS Header set Access-Control-Allow-Methods GET Header set […]
我使用CURL来testing我的nginx服务器的HEAD请求。 被提供的文件是一个简单的PHP文件。 如果我使用GET : $ curl -XGET http://test.com/phpinfo.php -I HTTP/1.1 200 OK Date: Tue, 09 Apr 2013 00:35:35 GMT Content-Type: text/html Connection: keep-alive Content-Length: 72080 但是,如果我使用HEAD : $ curl -XHEAD http://test.com/phpinfo.php -I HTTP/1.1 200 OK Date: Tue, 09 Apr 2013 00:37:00 GMT Content-Type: text/html Connection: keep-alive 为什么如果请求是HEAD ,nginx会省略Content-Length头部? PHP脚本非常简单,并且不以任何特殊的方式响应HEAD 。 有没有我可以打开Nginx中的任何选项,以便它将发送HEAD的Content-Length ? 相关的nginx信息: nginx version: […]
我有一个auth_request像这样的位置块 location /somepath { auth_request /authorize; auth_request_set $header_variable $upstream_http_custom_header; proxy_path http://backendaddress; } 我想要做的是,如果$header_variable不匹配一个特定的正则expression式,我想返回一个403代码。 if因为运行得太早而不工作。 还有什么可以让我做这个吗?