Articles of 代理

我应该使用哪类软件来拦截HTTP请求并执行操作

我们已经inheritance了一个旧的Web应用程序,需要扩展一些日志loggingfunction以达到合规目的。 不幸的是,我们不能改变应用程序。 应用程序收到XML POST请求。 我们需要捕获几个特定的​​XML值并将它们logging在一个单独的文件中。 所以这涉及到XMLparsing和一些自定义代码。 我们正在考虑在服务器前放置一种代理。 是否有代理,允许自定义请求身体处理没有低级别的编程? 或者IDS更适合这个目的?

随机的,持续的连接失败

我的第一个问题 – 希望我在正确的地方。 从本质上讲,我有一个Java应用程序偶尔似乎有困难的连接,我已经用尽了想法在哪里看。 希望得到一些启发和build议。 那么详细… 背景: 两台2K8r2物理服务器(称为01和02)位于公司局域网上,并已join域。 每台服务器都有一个Java应用程序,用于与互联网托pipe的Web服务进行安全连接,以传输财务数据。 Java应用程序由Windows任务计划程序触发,并在服务器上具有本地pipe理权限的基于域的服务帐户下运行。 当被触发时,Java应用程序连接到基于Internet的Web服务,并根据执行脚本上传/下载文件。 Java应用程序被configuration为通过我们的MS代理(TMG 2010)通过HTTPS连接到Web服务。 Web服务需要客户端身份validation,并在每个服务器上的Java证书存储区中安装一个证书。 我们的代理configuration为不执行HTTPS检查,不要求authentication连接到Web服务。 每个服务器有两个任务; 上和下。 Up任务定期运行(上午7:00至晚上7:00,每20分钟一次),而Down任务可以每天运行一次,也可以在早上运行。 问题: 大部分时间都正常运行。 所有的任务报告偶尔连接失败。 这被认为是由于Java应用程序的stream行networking条件和脆弱性。 不太常见(每1到2周一次),会出现连续失败的连续失败 – 通常是由服务器01上的“上”任务 – 可以持续数小时。 我收到每个失败的电子邮件警报,并且在这些失败之一中运行远程控制台会话到服务器,以尝试解决发生了什么问题。 我注意到以下症状仅在一系列故障中出现: 即使我用正常的域帐户login到服务器,浏览(通过IE)我们的公司SharePoint Intranet结果login提示。 尝试浏览到外部网站失败 – 没有login提示,只是一个IE错误,说不能连接。 我发现很难相信持续的连接故障是由于主要的networking条件 – 丢包等。 我的直觉反应是服务器01有问题,因为服务器02没有受到严重的影响。 示例错误消息: 连接失败'login时出错 – 'java.lang.RuntimeException:静默连接时出错:org.w3c.www.protocol.http.HttpException:java.io.IOException:来自代理的无效响应:null'' 连接失败'login时出错 – 'java.lang.RuntimeException:静默连接时出错:org.w3c.www.protocol.http.HttpException:java.net.ConnectException:连接超时:connect'' 连接失败'login时出错 – 'java.lang.RuntimeException:静默连接时出错:org.w3c.www.protocol.http.HttpException:java.net.SocketException:软件导致连接中止:recv failed'' 编辑:debugging级别日志文件信息: 2013-02-01 08:43:52,249 DEBUG – PKCS11SendRequest:sendRequest:Connecting […]

反向用户名select目标服务器的MySQL代理

我想知道是否存在这样的事情,我形容为MySQL服务器的“反向代理”。 它应该能够连接到后端服务器池中的特定主机。 select后端主机的关键是从部分用户名获得。 例如,我有一个专用局域网中的3个MySQL服务器,每台服务器托pipe不同用户的不同数据库: 10.1.1.1 10.1.1.2 10.1.1.3 MySQL反向代理将运行在一个面向公众的机器上,另一个接口连接到这个局域网。 eth0 -> Public facing IP (mysql.proxy.tld) eth1 -> 10.1.1.254 用户想要从远程位置连接到10.1.1.2上的数据库。 他们将设置MySQL客户端连接以使用MySQL代理,如下所示: mysql -u '[email protected]' -h mysql.proxy.tld MySQL代理服务器将知道使用后端服务器10.1.1.2。 它将剥离掉包括最后一个“@”在内的任何东西,并将剩下的作为用户名留给后端服务器。 因此,用户实际上将以“databaseuser”连接到10.1.1.2。

NGINX 1.3.14代理Websockets

Websocket支持是从1.3.13开始的,所以我应该拥有它。 有人可以请我提供一个最简单的configuration示例,该configuration允许我的nginx(在Centos 6上)代理接受来自我的客户端的HTTP Connect,然后代理将代表客户端在另一台服务器上build立到另一台服务器的后端的websocket连接和客户端和websocket服务器之间的代理通信? 我一直在努力,只有400错误。 我会很感激。 我努力了: http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr – $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; gzip on; server{ listen 8080; listen 80; location /wsDemo?ID=12 { proxy_pass http://myserver.com:80/wsDemo?ID=12; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; […]

代理HTTP请求到几台机器

我有 一项称为传统服务的服务 另一种称为开发服务的服务 一堆HTTP请求来到传统服务 有没有办法在不编写自定义实用程序的情况下将HTTP请求代理到传统服务和新服务? 所以我可以在真实stream量上testing我的开发服务,但不closures传统服务。

在Windows中设置Apache HTTP服务器作为代理访问另一个域

我知道这应该是非常基础和理论上的简单,但我需要完成这个任务,我是新来的,由于某种原因,我找不到一个适合我的例子。 我在Windows 8中运行apache 2.2。我需要访问一个网站,让我们称之为x.com,通过我的代理。 原因是我需要在iframe中显示它,并以编程方式login,为此我需要使用JavaScript。 这是通过跨域的Ajax安全限制来防止的。 通过代理网站,我可以做到这一点。 我已经安装了Apache http服务器。 取消注释以下行 LoadModule proxy_module modules/mod_proxy.so 在文件“httpd.conf”中,并用以下命令覆盖文件conf \ extra \ httpd-vhosts.conf: NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/docs/dummy-host.localhost" ServerName 127.0.0.1:80 ProxyRequests off ProxyPass /feature http://x.com/ ProxyPassReverse /feature https://x.com/ ProxyPassReverseCookieDomain x.com localhost ErrorLog "logs/dummy-host.localhost-error.log" CustomLog "logs/dummy-host.localhost-access.log" common <Directory "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/docs/dummy-host.localhost"> AllowOverride […]

URL过滤HTTPSstream量

我正在处理的configuration是一个透明的HTTP代理:在防火墙上,所有的HTTPstream量(端口80)通过iptables被redirect到代理; Dansguardian安装在代理上,并过滤URL。 在网上阅读我意识到,如果我也将HTTPSstream量(端口443)redirect到代理,那么当用户指向HTTPS网站时,用户将收到错误,是否正确? 我发现解决这个问题的解决scheme是: 我删除防火墙上的redirect规则,用户在浏览器的连接选项中指定代理地址。 他们是否必须为HTTPSstream量指定不同的端口或者为每个协议指定默认端口(3128)? 或者我必须在squid.conf中指定“https_port”指令? 我删除防火墙上的redirect规则,并创build一个configuration文件(proxy.pac / wpad.dat); 用户在其浏览器上指定该文件的URL,所以它自动加载代理configuration。 在这一点上我的问题是:为什么这些解决scheme与HTTPSstream量和透明代理不工作? 先谢谢你。

如果后端服务器closures,如何设置squid3来响应caching

我有一个squid3代理目前设置为透明代理。 我在我的configuration中使用以下内容: http_port 3128 transparent acl localnet src 10.234.255.68/24 acl localhost src 127.0.0.1/255.255.255.255 http_access allow all http_access allow localhost cache_dir ufs /var/spool/squid3 5000 16 256 但如果我closures的Apache后端服务器进行维护,鱿鱼不能再显示任何东西,只是一个鱿鱼错误页面。 如果不能到达后端服务器,我想让squid提供任何请求的caching版本。 这可能吗? 如果是的话,有人能指出我正确的方向。

代理SSL第三方网站和伪装URL

为了改进search引擎优化,我需要将支持SSL的站点https://www.company.com/support代理到启用SSL的第三方支持站点https://company.custhelp.com ,同时所以用户只能在浏览器中看到以前的url(www.company.com/support)。 由于这是一个支持网站的某些方面的URI(会话ID)以及cookies需要维护。 达到这个目标所需要的最好的方式或应用是什么?

防止NGINX重新路由到以前的后端

我正在使用NGINX的ip_hash指令来确保客户端请求总是在相同的后端服务器上结束。 在后端服务器中断的情况下,NGINX将重新路由到可用的服务器,由于我可以在客户端应用程序上侦听断开连接事件,所以我可以让我的客户端应用程序作出相应的反应。 但是,当以前停机的服务器恢复时,NGINX会将请求路由回原始服务器。 这打破了我的应用程序,因为我无法知道这发生在我的客户端应用程序。 那么有没有办法让NGINX发现一个通知事件到我的客户端应用程序,当它检测到一个以前的服务器可用,或者最好防止NGINX展示这种行为?