比方说,我从浏览器调用的服务器上有一个JSP脚本。 这个脚本内部调用另一个来源来获取一些数据。 这个内部源是一个在同一台机器上的脚本。 一世 有可能对该脚本执行简单的HTTP-GET请求,或者HTTP请求“离开”当前机器并再次“返回”(以便可以从外部看到/处理该请求)或请求在当前服务器中完全处理?
我从Eucalyptus开始,有一些S3和EC2背景。 我有一个应用程序,我使用个人图书馆与S3接口,并从那里存储/检索文件。 现在我想让我的应用程序与Walrus兼容。 这是我的设置: Ubuntu 10.04服务器UEC: 只是把它安装在一个新的虚拟机上,select所有的组件,但是只有数控,因为我只需要Walrus 开机后,我确认海象在10.211.55.18:8773/services/Walrus运行 转到10.211.55.18:8443 Web门户并更改了pipe理员密码 从同一个地方我检索查询接口凭证(ID +秘密) 我能够通过Cyberduck和Cloudberry与Walrus交互,没有任何问题,我创build了一个桶'mybucket'和一个对象'myobject',但是不能用一个编程HTTP库做一个简单的请求,既不使用curl生成的授权。 如果我去浏览器并插入: http://10.211.55.18:8773/services/Walrus/mybucket/myfile : http://10.211.55.18:8773/services/Walrus/mybucket/myfile : http://10.211.55.18:8773/services/Walrus/mybucket/myfile我得到一个漂亮的XML消息与授权错误(如预期)。 但是当试图获得这个对象时,我已经完成了下面的签名过程(伪代码): digest = new_openssl_sha1_digest date = "Sat, 03 Mar 2012 18:13:54 GMT" (now UTC datetime) description = "GET\n\n\nSat, 03 Mar 2012 18:13:54 GMT\n/mybucket/myfile" signature = new_base_64_HMAC(digest, secret_key, description) headers = { Date: date, Authorization: "AWS <access_key_id>:<signature>" […]
我已经设置了新的Amazon EC2实例。 在一两天内,大约10秒内(例如66.249.76.84,66.249.74.152)就开始从“类似谷歌机器的”IP(例如66.249.76.84,66.249.74.152)中获得奇怪的“GET”请求: 66.249.74.152 – – [10/Apr/2013:06:05:02 +0000] "GET /play/gp4GbjXBD4B3?sh=04f2fd19ae2dd623e7135d29a1894f03&sh=f172a32c89190e28f9c27123d7c6cf43&sh=04f2fd19ae2dd623e7135d29a1894f03 HTTP/1.1" 404 295 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" 66.249.76.84 – – [11/Apr/2013:03:51:44 +0000] "GET /api/levels/2ry7ZAh0Y91r HTTP/1.1" 404 295 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" 他们正在检查文件夹中的散列 /play/'some_hash_here' /profile/'some_hash_here' /level/'some_hash_here' /api/'some_hash_here' 我从来没有这个网站上的文件夹。 但是,要做到这一点,我试图阻止他们在robots.txt User-agent: * Disallow: Crawl-delay: 120 Disallow: /play Disallow: /profile Disallow: /level 但它根本没有帮助,它只是不读robots.txt。 为了摆脱他们在我的error_log文件中提供的所有混乱,我已经在.htaccess文件中创build了这样的规则 Redirect 301 […]
我们正试图了解如何为我们的Web应用程序设置代理服务器。 我们需要几个进程通过内部networking中的代理服务器访问Internet。 理想情况下,我们可以在代理内部的某处运行自定义的Python代码 – 特别是在实际执行请求之前。 基于评论的澄清:我们不是试图只使用代理:我们想要在代理中运行自定义代码来跟踪请求 – 响应过程。 这可能是一个非常基本的/愚蠢的问题,但现在我知道我们应该使用代理,我正在努力了解它们是如何工作的,以及如何将它们应用到我们的基础架构中。 我们需要做一些事情,比如在获取请求的URL之前修改请求的URL,修改请求头和有效载荷,并且在获取有效载荷之后可能得到一些响应数据。 非常感谢! 任何有关这方面的信息将非常感激!
试图find一个可以用Python自定义的好的HTTP代理。 希望这个代理库或应用程序能够让我为请求/响应周期添加自定义插件 – 特别是使用另一个代理(代理链接)的设施。 我们需要能够定制自定义代理select哪个代理服务器(不在列表中)请求将被转发的方式。 任何想法在哪里看? 非常感谢!
我试图caching我的请求在Nginx。 我已经连接我的django服务器作为上游。 现在,我试图caching我的请求。 proxy_cache_path /var/cache/nginx/ keys_zone=one:10m; location / { proxy_cache one; proxy_cache_valid 200 302 10m; proxy_no_cache $cookie_nocache $arg_nocache$arg_comment; proxy_cache_bypass $cookie_nocache $arg_nocache$arg_comment; proxy_cache_use_stale error http_502; proxy_pass http://127.0.0.1:8000; } 一切正常,但现在我已经添加了 proxy_cache_use_stale error http_502; 这个说法。 这意味着即使在出现错误的情况下也应该提供caching的内容,502响应代码。 为了testing它,我停止了我的django服务器,即使在django服务器closures的情况下,它也应该立即提供这些请求。 但它又一次发送502坏的网关。 我在这里有什么不对吗? 我怎么知道我的请求是否被caching?
我正在使用ab命令来打我的本地主机的http请求。 现在在服务器端,我想检查有多less请求目前正在处理我的nginx服务器。 像在数据库的情况下,我们可以检查由任何应用程序做的数据库连接列表…. 同样的方式如何检查…..
我们正在开发一个新的服务器来replace一个旧的服务器,并且希望在testing之前和之后并排放置,以便我们可以比较最终结果并找出差异。 这两个服务(旧的和新的)的input是HTTP请求(大多数如果不是所有的GET,但也可能是POST),我们需要有stream量到旧的服务器复制并发送到新的服务器 (而不是)。 当然我们需要对请求中的主机名和端口做一些轻微的改写,以避免无限循环。 旧的服务器运行在Apache(PHP)上,新的是Jetty(Java,Dropwizard) 必须有办法做到这一点,我只是找不到关键字的谷歌search我猜…
发送大容量date到我的服务器时,我的POST请求上得到414(请求 – URI太大)exception。 是否有可能增加POST数据的限制? 我已经做了nginxconfiguration下面的变化 large_client_header_buffers 8 2024k; 但它不起作用。
我们遇到了问题,用户最终会在我们的网站上以“空的GET请求”。 通过这个我的意思是说,他们起源于外部网站作为POST请求与几个PARAMS,但浏览器只会做一个简单的GET没有PARAMS我们的服务器。 无论是浏览器等,还是大量使用各种技术的网站,都会发生这种情况。 无论什么原因,更新我们的证书(已经工作了18个月)解决了这个问题。 旧证书来自Verisign,新证书来自Thawte。 水平线以下是原来的问题。 我们有一个服务,我们希望各种webstores通过HTTPS和数据有效载荷将POST数据作为nvp POST参数发送给我们。 这些数据中很less有一些是转换为GET请求的地方,有效负载丢失,所以他们来到我们的服务器作为GET请求没有任何参数。 当我们得到一个GET请求时,我们的负载均衡器或者POST请求的防火墙上没有任何符号,它们将以任何方式连接到我们正在接收的GET。 GET通常是我们可以从给定IP看到的第一个传入请求。 除了几乎所有的客户端计算机都是各种版本的Windows之外,似乎没有其他共同的因素。 浏览器至less可以是Firefox,IE或Chrome的任何一种。 另一个通过用户浏览器提交数据的站点(使用方法POST的forms)可以使用任何但不限于以下内容; PHP,Java,Ruby on Rails,.NET Linux,Windows Apache,Nginx,IIS,Tomcat,Cowboy Drupal,Magento,Joomla,Prestashop,专有和内部解决scheme 该问题影响来自多个不同网站的客户,这些网站似乎没有任何共同之处。 另外,用户似乎并不是来自特定的ISP。 什么似乎发生的是,POST请求消失,永远不会到达我们的任何服务器。 不知何故浏览器发送一个GET请求,而没有任何参数。 然而,引用者是完整的,根据我们的testing手段,用户不能select浏览器地址字段并按下input,因为这会丢失引用者头部。 通过一次或几次重试(浏览器返回,在推荐站点上重新提交提交),POST应该通过 另外根据我们所听到的最终用户对此的评论,他们没有得到浏览器的错误信息。 服务器到服务器调用似乎不受此问题的影响。 看起来这个问题是在7月14日开始的,在这个date之后,我们每天都会收到这些问题的要求。 它从一天开始只有几天,并且一直在稳步上升,现在已经达到了我们收到我们API所有要求的每天约5%。 所以,这在推介网站上看起来并不是一个问题,因为它会影响网站的平台变化,没有共同的因素。 它看起来像是一个Windows问题,因为问题用户代理实际上是各种版本的窗口,但它会影响所有的浏览器,所以它可能是什么? 任何build议都欢迎在这一点上。 编辑:我们会看到,如果这是一个HTTP – > HTTPSredirect在我们testing,并发现HTTP请求在负载平衡器日志。 非www到wwwredirect也会发生在我们的负载均衡器AFAIK,我们也会看到。 还忘了提到我们从受影响的网站获得大部分有效的数据,这只是一小部分请求的行为不正常。 编辑: *解决(种)*作为其中之一“有现在的方式,这将有所帮助,但我们试试无论如何,因为我们不知道什么是错的”我们安装了一个新的证书。 自从安装新的证书后,这个问题就不复存在了。 我们目前还不知道证书如何导致我们遇到的行为。 AFAIK如果证书有问题,浏览器会提示用户采取行动(从我们所听到的,没有人收到任何提示),或者根本不与服务器通话或正常继续。 我不希望浏览器将POST更改为GET并转储所有参数。 旧证书安装正确,还有一年半以来如何能够完美地工作? 无论哪种方式,大约一个星期内都没有发生过病例。 在日志中显示这些问题案例之一的最后一个条目在安装新证书之前的大约几分钟时间内定时…