我们的生产环境由n台Apache Web服务器通过前端负载均衡器通过浏览器访问。 很典型。 我们99%的HTTP请求都是由这个并行架构来处理的,没有任何问题。 不幸的是,Apache处理的请求中有1%需要访问外部服务器上的层级SOAP Web服务,这绝对无法处理并发性 ,导致许多严重错误。 我正在寻找一种方法来通过一种代理来pipe理这些SOAP请求,能够将请求同步排队并locking到外部服务器。 像Pound,Nginx,Squid或Varnish这样的标准代理是否实现了这样的队列?
我试图设置一个自动的方法来发现我的Squid代理在本地networking,通过设置浏览器“自动检测”。 如果我在客户端浏览器中手动指定IP:端口,则代理服务器正常工作,如果在客户端浏览器中指定了脚本URL,那么wpad脚本也可以工作。 但是,我想在本地networking中的每个浏览器上都设置自动检测,并且不起作用,浏览器直接显示带有拒绝访问信息的squid页面,并且不提示用户/密码进入。 我说的代理服务器工作正常,是一个Squid 3.1透明代理。 代理服务器 IP:192.168.1.252 /etc/squid3/squid.conf相关的设置 http_port 3128 transparent Shorewall防火墙规则设置 REDIRECT lan 3128 tcp 80 – !192.168.1.0/24 我的DNS服务器已经设置了这个 所以,wpad.example.com/wpad.dat在本地的两个站点解决了,检查。 这里是关于这个的相关文件 apacheserver A 192.168.1.25 wpad CNAME apacheserver apacheserver有这个: 在/ etc / apache2的/网站启用/ WPAD # Auto Proxy Configuration <VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /srv/custom/wpad ServerName wpad.example.com AddType application/x-ns-proxy-autoconfig .dat AddType application/x-ns-proxy-autoconfig .pac </VirtualHost> # vim:ft=apache: […]
我使用nginx 1.9.9作为Gravatar的代理(将等待时间从300ms减less到15ms)。 但是,caching在几分钟后过期,而我指定它在7天内过期。 在短短的几分钟内,我收到头X-Proxy-Cache: EXPIRED 。 configuration如下: proxy_cache_path /var/www/gravatar-cache levels=1:2 keys_zone=gravatar:8m inactive=7d use_temp_path=off max_size=1000m; proxy_cache_key "$scheme$request_method$host$request_uri"; server { listen 443 ssl http2; server_name [hidden]; access_log off; ssl_certificate [hidden]; ssl_certificate_key [hidden]; location /avatar/ { expires 365d; proxy_cache gravatar; proxy_cache_valid any 7d; proxy_pass https://secure.gravatar.com; proxy_ignore_headers Cache-Control; proxy_hide_header link; proxy_hide_header source-age; proxy_hide_header content-disposition; proxy_hide_header via; proxy_hide_header x-varnish; proxy_hide_header […]
我已经设置了一个反向代理与nginx webmin ..但它看起来像nginx之前不会发送HTTP响应连接closures后? 如果请求长请求(cronjob)请求结束后,输出将首先由最终用户接收? 如何设置nginx,以便在第一个字节被发送回代理(nginx)后立即发送响应? location / { proxy_pass https://xx.xx.xx.xx:10000/; }
我有我的家庭networking上的鱿鱼代理安装(鱿鱼在Ubuntu服务器上运行,14.04)。 目前我们的家庭互联网使用量约为每月2TB。 我想找出哪些网站/url/域消耗最多的带宽。 我需要在哪里找鱿鱼找出来? 我宁愿一个不需要安装PHP,Apache,数据库或任何额外软件的解决scheme。
在我的Mac上,我使用Authoxy来避免不断地对客户端的代理服务器进行身份validation。 它的工作原理是这样的:我给Authoxy我的凭据和PAC文件的位置。 它运行在某些端口(比如说8888)和任何需要指定代理服务器的程序本地运行,我把127.0.0.1:8888。 该程序连接到Authoxy,并连接到真正的代理服务器。 我不必在任何地方复制身份validation信息,始终重新input凭据等等。非常好。 更重要的是,太愚蠢的应用程序不支持代理身份validation或不支持PAC文件可以连接到Authoxy,而我与正常的代理拧紧。 我需要在Windows XP中完成同样的事情。
我要把这个问题扔到野外。 我们刚刚开始使用代理login用户login名称的互联网使用情况。 这是在ISA Server 2004(位于我们的Internet网关服务器上)上设置的。 启用集成的和基本的authenticationforms,同时让所有用户进行authentication。 我勾选并在ISA上启用了一组设置,以便忽略内部地址和域。 为了将用户指向我们的代理服务器,我们在DHCP服务器上使用了DHCPINFORM检测function,将客户端指向proxy.pac文件的networking位置(如下所述)。 我也已经在与proxy.pac相同的区域设置了wpad.dat(两个文件都是相同的)。 当前的proxy.pac文件我正在玩: function FindProxyForURL(url, host) { // Trying to save localhost if (localHostOrDomainIs(host, "localhost")) return "DIRECT"; if shExpMatch (url, "http://localhost*") return "DIRECT"; // If specific URL needs to bypass proxy, send traffic direct. var resolved_ip = dnsResolve(host); if (isInNet(resolved_ip, "172.22.145.0", "255.255.255.0") || isInNet(resolved_ip, "192.168.1.0", "255.255.255.0") || isInNet(resolved_ip, […]
我们即将把一个网站移动到一台运行新软件的新服务器,通常是一个简单的改变,但我们也有一个荷兰版本的网站运行在一个文件夹/ nl。 我们希望将域名www.example.com转移到指向新的服务器,但是对/ nl和其中的任何请求将被转移到dutch.example.com。 这是我们迄今为止。 ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /nl http://dutch.example.com/nl ProxyPassReverse /nl http://dutch.example.com/nl 由于荷兰网站的图像与当前英国网站的图像混在一起,这些图像将不再存在于新网站上,因此变得更加复杂。 所以我们还需要代理处理任何资产请求。 最重要的是,它是一个电子商务网站,因此所有这一切都有可能发生在SSL上。 这可能吗? 非常感激你的帮助
我有一个基本的鱿鱼configuration,直接连接到互联网,我需要一种方法来使用父对等取决于URL。 举个例子: 我将其configuration为使用本地代理,将本地代理链接到本地计算机,以获得任何具有.local TLD的URL 如果用户请求http://www.google.com/,则会直接转到google.com端口80 如果用户请求http://server1.local/,它将使用本地代理访问局域网上名为server1的计算机。 这是一个简单的例子,可以通过DNS解决,但我做的更复杂一点。 我尝试了Google的search结果,但大多数结果是无关紧要的。 谢谢。
我试图使用服务器提供的服务,需要基本的HTTP身份validation,但是我正在使用的应用程序不支持身份validation。 我想要做的是创build一个代理,使我的authentication应用程序通过代理连接(这将添加authentication信息)到需要authentication的服务器。 我敢肯定,这可以做到,但是我不知道如何做到这一点的代理人数。 基本上,我想要做的就是有一个代理服务这个URL: http://username:password@remoteserver/path 作为这个URL: http://proxyserver/path 我可以在Linux上运行它,但如果我可以运行Windows,也是一个好的select。 开源或至less免费是必须的。 一个很大的好处是,如果安装起来相当简单。