在我的应用程序堆栈中,我正在使用CouchDB(在这种情况下,所有的意图和目的都是一个简单的REST服务器),我想把Varnish放在它的前面以减轻读取负载。 我知道每当我的应用程序通过POST或者PUT更新一个文档时,旧文档都是失效的,但是由于CouchDB输出的头文件,Varnish并没有意识到这一点,所以继续为以后的GET请求提供旧版本。 基本上来说,当POST或PUT方法发送到同一个URL时,我希望能够在给定的REST URL处purge文档。 我可以configuration清漆来达到这个目的吗? 我可以让我的应用程序在每次POST或PUT后发送一个PURGE请求,但我真的宁愿caching对于应用程序是不可见的,因为对于较小的安装,它可能在没有Varnish的情况下运行。 基本上,在vcl我想这样做: sub vcl_recv { if ( req.request == "POST" || req.request == "PUT" ) { purge; return(pass); } } 但是purge; 方法在vcl_recv不可用 更新 我似乎已经通过使用ban而不是purge取得了一些近似上面的东西 – 紧接着的POST请求触发一个GET ,进一步的GET请求从caching服务,所以看起来我误解了语义。 我的子程序目前是: sub vcl_recv { if ( req.request == "POST" || req.request == "PUT" ) { ban("req.url == " + req.url); return(pass); } }
我configuration了一个redirect来指向根目录中的任何内容到/racktables/ 。 当我真的去http://host/ ,但是,我被redirect到http://host/racktables ,当然,它redirect到http://host/racktables无限。 从web.configinput: <httpRedirect enabled="true" destination="/racktables/" exactDestination="true" childOnly="true" /> 是否有可能让IIS准确地遵守这个redirect,或者我将不得不在默认文档的根目录下创build一个redirect? 对微软来说,这似乎是一个相当重要的监督。
我有一个负载平衡器F5 Big IP为我的网站。 目前,我有302redirect到位; 然而,我想申请301,但不知道如何。 例如: 我的网站(abc.com)input302redirect到abc.com/index,inputwww.abc.com 302redirectwww.abc.com/index。 我想有一个能帮助我的规则 abc.com – 301redirect – www.abc.com/index abc.com/index – 301redirect – www.abc.com/index www.abc.com – 301redirect – www.abc.com/index 以下是我的技术人员正在尝试的代码: redirect到WWW when HTTP_REQUEST { if { [HTTP::host] equals "abc.com" or [HTTP::host] equals "abc.co.in" or [HTTP::host] equals "www.abc.co.in" } { if {!( [HTTP::path] equals "/")} { HTTP::respond 301 Location "http://www.abc.com[HTTP::path]" } […]
我有一个freebsd 9.0路由器与250-300Mbit / s的stream量,并需要过滤小页面(http.request.uri)。 我不关心tor,anonymizers,代理等。只是防止从我的networking直接访问此页面。 怎么样? 只有redirecthttp到鱿鱼或任何其他的http代理? 我知道tcpdump -ddd和bpf netgraph节点。 但是http对我来说很难。
我只是在服务器机器上安装了nagios,只是在HTTP服务上遇到严重错误。 错误是 HTTP CRITICAL – Socket timeout after 10 seconds 我search这个错误,并得到了build议运行check_http更长的超时。 所以我在文件commands.cfg附加-t 20在“check_http”命令旁边。 重新启动nagios,但我仍然得到一个错误(新的超时)。 然后再search一下。 这个错误似乎很常见,所以我开始想我可能有其他一些问题。 我试着自己运行check_http: root@srv$ /usr/libexec/nagios/check_http -H localhost -N -p 80 -t 1 HTTP OK: HTTP/1.1 200 OK – 846 bytes in 0.003 second response time |time=0.003080s;;;0.000000 size=846B;;;0 答案似乎没问题,但我对http的了解甚less。 任何线索? 编辑:从/etc/nagios/objects/commands.cfg采取的check_http的命令定义是 # 'check_http' command definition define command{ command_name check_http command_line $USER1$/check_http -I […]
我在CentOS 5.10上inheritance了Linux Virutal Server(LVS)负载平衡器。 一段时间没有问题,没有问题的运行。 现在,当我添加一个新的虚拟IP(VIP)时,所有HTTPstream量都被“过滤”到该端口。 例如:这是现有VIP的nmap输出: nmap 10.150.200.141 Starting Nmap 5.51.6 ( http://nmap.org ) at 2014-10-13 14:55 EDT Nmap scan report for 10.150.200.141 Host is up (0.014s latency). Not shown: 995 closed ports PORT STATE SERVICE 22/tcp open ssh 80/tcp open http 111/tcp open rpcbind 443/tcp open https 1556/tcp open veritas_pbx Nmap done: 1 […]
对于使用nginx作为caching代理,有没有办法configuration2上游服务器的方式,它总是尝试第一个,除非那个返回404,只有在这种情况下,它会尝试第二个上游? 我知道上游configuration块中的backup选项,但只有在第一个服务器不可用时才会尝试该服务器。 我在说如果第一个服务器可用,但只是那个特定的请求的文件返回404。
我试图用nginx代理一个由外部主办的javascript和图片 我在https上运行我的网站,他们只通过http提供的文件,我已经有与他们有关的联系,但不能给时间线,当他们走了解决这一点。 所以没有我想在我的nginxconfigurationproxy_pass这些文件我有以下位置块 location /blogcounter/image { #rewrite ^/blogcounter(.*) /$1 break; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_pass http://widget.external-domain.tld/$uri$is_args?$args; } location /blogcounter.js { #rewrite ^/blogcounter(.*) /$1 break; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_pass http://widget.external-domain.tld/$uri$is_args?$args; } 我想在我的网页上的小工具是。 <a title="external-domain.tld" href="http://external-domain.tld/" id="hr-random_id" target="_parent"> <img src="https://my-domain.tld/blogcounter/image?image=red_s&blog_id=random_id" alt="alt-text" border="0"> </a> <script type="text/javascript"> var […]
我正在使用HAproxy在Apache服务器之间加载平衡请求。 我试图禁用HTTPS的特殊用例(服务的kickstart文件),我使用端口8000来做到这一点。 我有一个HAProxyconfiguration,看起来大致像这样(一些configuration已被省略): frontend provision_frontend_b bind 10.1.1.1:8000 mode http default_backend provision_backendb backend provision_backendb mode http server server1 127.0.0.1:8000 weight 1 server server2 10.1.1.2:8000 weight 1 我希望HAProxy将在端口8000上对外部IP所做的请求redirect到端口8000上的环回地址,在那里我正在监听Apache。 Apache被configuration为通过HTTP提供静态文件。 奇怪的是,当我从我的浏览器使用前端的DNS名称: http://myhost.mydomain:8000 ,我被redirect到HTTPS和SSL证书错误。 当我尝试与IP, http://10.1.1.1:8000 ,它的作品(并不redirect到HTTPS)。 为什么HAProxy会这样做? 它似乎不是Apache,因为我已经configurationHAProxyredirect到其他HTTP仅Apache服务器,并仍然收到此错误。 我在HAProxyconfiguration中看到的唯一的事情是configuration为redirect到SSL的另一个前端: frontend http_frontend bind :80 mode http redirect scheme https if !{ ssl_fc } 但是,它正在听另一个端口。 我试图评论redirect,并没有解决这个问题。
HTTP代理连接到HTTP请求中指定的任何目标端口是否很常见? 或者通常设置的目标端口是受限的(80,8080,443,…)我创build了WCF服务和Visual Studio分配的地址http:// localhost:7517 /但是有些客户可以使用web代理,似乎使用标准80或8080是WCF服务的好主意,不是吗? 否则有什么好处基于HTTP的WCF VS TCP基于WCF …从另一侧80或8080已经可以被占用。 目前最常见的代理端口限制是什么? 此信息对于设置基于WCF HTTP传输的服务端口很有用。