标签: http

在 Apache 服务器上启用 HTTP DELETE 请求

我需要配置我的服务器以允许 http 删除方法。目前,当我尝试拨打此电话时出现以下错误:


HTTP/1.1 405 Method Not Allowed
Date: Mon, 11 Apr 2011 20:56:23 GMT
Server: Apache/2.2.17 (Win32) PHP/5.3.5
Allow: GET,HEAD,POST,OPTIONS,TRACE
Content-Length: 233
Keep-Alive: timeout=5, max=98
Connection: Keep-Alive
Content-Type: text/html; charset=iso-8859-1
Run Code Online (Sandbox Code Playgroud)

我已经进行了广泛的搜索,但无法找到有关如何配置服务器以允许此请求的答案。有人请帮忙,因为它阻止了我的项目。

http apache-2.2

5
推荐指数
1
解决办法
8798
查看次数

.htaccess 将 http 重写为 https 导致循环

在运行 varnish 的 apache 2.2 服务器上,我试图将 http -> 重定向到整个 Drupal Commons ( http://commons.acquia.com/ ) 站点的https 。

由于 varnish 缓存了一些重定向(我认为是 R=301,但不是 R=302),我首先让重定向在 :8080 工作,而 varnish 不提供该重定向。

下面的 .htaccess 代码成功地将 http://foo.example.com:8080 重定向到 https://foo.example.com。(适用于 Chrome、FF 和 Safari。)

# RewriteBase /

### Standard Drupal7 .htaccess above here  ###

# SSL REWRITES
RewriteCond %{SERVER_PORT} ^8080$
RewriteRule ^(.*)$ https://foo.example.com/$1 [NC,R=302,L]

### Standard Drupal7 .htaccess below here  ###

# Rewrite URLs of the form 'x' to the form 'index.php?q=x'.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} …
Run Code Online (Sandbox Code Playgroud)

rewrite http https .htaccess apache-2.2

5
推荐指数
1
解决办法
2585
查看次数

IIS 中的基本 HTTP 身份验证

请原谅我缺乏 IIS 经验,但我在运行 IIS 和 Plesk 的托管服务器上有一个用户。他使用受保护的文件夹,我正在寻找一种方法:

  1. 允许他使用简单的用户名/密码组合来保护文件夹
  2. 将静态 IP 列入白名单,以便在没有来自该服务器的身份验证的情况下始终可以访问该文件夹

它不必——而且最好不是——仅适用于 Plesk 的解决方案。如果有办法通过 web.config 做到这一点,那就更好了。

我基本上是在寻找相当于 Apache htaccess/htpasswd auth 的 IIS :)

谢谢!

iis http authentication web.config

5
推荐指数
1
解决办法
1404
查看次数

如何使用适配后的标头记录 Squid 发出的有效传出 HTTP 请求?

我使用 Squid 来修改客户端发送的一些 HTTP 标头。出于测试目的,我想完全删除“User-Agent”标头。

这是我的配置:

request_header_access User-Agent deny all
header_replace User-Agent Timmy
logformat mylogformat %>a [%{%H:%M}tl] "%rm %ru HTTP/%rv" %>Hs "Accept:%{Accept}>ha User-Agent:%{User-Agent}>ha" {%Ss:%Sh}
Run Code Online (Sandbox Code Playgroud)

我使用语法 '>ha' 来记录“适配和重定向后的 HTTP 请求标头”,正如这里所说的http://www.squid-cache.org/Versions/v3/3.1/cfgman/logformat.html

不幸的是,根据我的日志文件 access.log,标题没有被修改:

x.x.x.x [19:18] "GET http://example.org/favicon.ico HTTP/1.1" 404 "Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 User-Agent:Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:10.0.2) Gecko/20100101 Firefox/10.0.2" {TCP_MISS:DIRECT}` 
Run Code Online (Sandbox Code Playgroud)

但是,当通过代理向我的 Nginx 服务器发出请求时,Nginx 有效地正确记录了此标头:

[06/Mar/2012:19:18:07 +0100] "GET /sites/all/modules/colorbox/styles/default/images/controls.png HTTP/1.1" 200 2104 "http://example.org/sites/default/files/css/css_zpYGaC6A9wUNMpW3IPg55mz-mMAjvhuo-SZTcX-lqFQ.css" "Timmy"
Run Code Online (Sandbox Code Playgroud)

在鱿鱼日志文件上记录正确修改的 HTTP 标头、重写的 url 等的正确语法是什么?

我的鱿鱼版本是 2.7.STABLE9,它在 Debian SQueeze 64 位上运行。

谢谢你的帮助

http squid http-headers

5
推荐指数
1
解决办法
2393
查看次数

如何让 Apache 在出现 400 错误且主机标头格式错误的情况下返回自定义页面?

我认为我所要求的有点难以理解,所以,我试图让它更简单......

当我的服务器收到带有格式错误的主机标头的请求时,我需要它有一个自定义的 400 错误页面。

我理想中想要的是 ErrorDocument 400 \somepage.php

我可以通过访问诸如 之类的页面来生成 400 个错误http:\\myserver\bla%bla,这将很好地转到我的脚本中。同样,我可以将该\somepage.php部分更改为Test textApache 将返回该文本。

但是,如果 400 错误是由格式错误的主机标头引起的,它将适用于文本而不是网页。

任何人都可以对此有所了解并在我松开所有头发之前提供可行的解决方案吗?!(已经为此失去了很多!)。

http web-server errordocument 400 apache-2.2

5
推荐指数
1
解决办法
2527
查看次数

如何优化 HTTP 服务器的 TCP 堆栈?

我有一个 HTTP 服务器,它只提供两种页面:大约 10 KB 和大约 16 KB(都是压缩的,其他文件来自 CDN)。由于延迟非常高(ping需要超过 300 毫秒),我想优化 TCP 堆栈,以便客户端尽快接收整个页面。

因此,我有一个双重问题:

  • 我必须更改哪个参数(TCP 窗口的哪个值)?
  • 如何更改(一个 Debian 盒子,仅供参考,HTTP 服务器之前有一个 Varnish)。

optimization http debian tcp

5
推荐指数
1
解决办法
1512
查看次数

通过正向代理反向代理的好方法

我有一个应用程序使用 HTTP 连接到服务器,但不支持使用 HTTP 代理,我必须使用 HTTP 代理才能访问服务器。

我想设置一个可以通过常规代理服务器的反向代理服务(它在 Linux 服务器上)。

所以:

App --> Reverse Proxy ----------> Forward Proxy -------------> Server
|====Localhost=======|   Net      |=Somewhere=|     Net   |=Somewhere Else=|
Run Code Online (Sandbox Code Playgroud)

我看过几个轻量级反向代理,但它们不支持通过代理服务器转发。我不想运行像apache或squid这样的重磅东西,但如果它们是唯一可以工作的东西,它们就会做。(虽然来自 apaches 文档,但它看起来也不行。)

有什么建议?

http proxy reverse-proxy

5
推荐指数
1
解决办法
871
查看次数

Apache 不会将连接升级到 TLS

我已经用 PHP 编写了一个在 Apache 下运行的 IPP 服务器。使用标准的 IPP 客户端,它工作得很好。但是当我尝试从 iOS 设备打印时,当客户端尝试切换到 TLS 时,连接会中断。这似乎由 RFC 2817(在 HTTP/1.1 中升级到 TLS)涵盖,并且应该由 Apache 支持多年。我的 Apache 配置有什么问题?

Apache SSL 配置:

SSLEngine optional
SSLCertificateFile /path/to/server.crt
SSLCertificateKeyFile /path/to/server.key
Run Code Online (Sandbox Code Playgroud)

要求:

OPTIONS * HTTP/1.1
Connection: Upgrade
Host: iserv.local
Upgrade: TLS/1.0,SSL/2.0,SSL/3.0
User-Agent: CUPS/1.5.0
Run Code Online (Sandbox Code Playgroud)

回复:

HTTP/1.1 200 OK
Server: Apache/2.2.16
Content-Length: 0
Content-Type: text/plain
Run Code Online (Sandbox Code Playgroud)

预期回复:

HTTP/1.1 101 Switching Protocol
Server: CUPS/1.4
Connection: Keep-Alive
Keep-Alive: timeout=30
Connection: Upgrade
Upgrade: TLS/1.0,HTTP/1.1
Content-Length: 0
Run Code Online (Sandbox Code Playgroud)

ssl http tls apache-2.2

5
推荐指数
1
解决办法
1024
查看次数

无法让 ejabberd 预绑定工作

我正在尝试使 BOSH 会话的预绑定工作。

我希望能够在我的 CMS 中对用户进行身份验证,然后在他访问聊天时让他登录,为此我找到了https://github.com/smokeclouds/http_prebind,一切都可以找到并且我能够编译它步骤如下:

rake configure
sed -i 's/AUTH_USER/a_user/g' src/http_prebind.erl
sed -i 's/AUTH_PASSWORD/a_password/g' src/http_prebind.erl
sed -i 's/EJABBERD_DOMAIN/jabber.my.tld/g' src/http_prebind.erl
rake build
rake install
Run Code Online (Sandbox Code Playgroud)

然后将 http 请求绑定添加到配置中:

  {5280, ejabberd_http, [
                         {request_handlers,
                          [
                           {["http-prebind"], http_prebind}
                          ]},
                         %%captcha,
                         http_bind,
                         http_poll,
                         http_prebind,
                         web_admin
                        ]}

 ]}.
Run Code Online (Sandbox Code Playgroud)

据我所知,我现在应该能够简单地请求一个新的会话:

curl -u a_user:a_password http://jabber.my.tld:5280/http-prebind/some_user
Run Code Online (Sandbox Code Playgroud)

但无论我总是得到什么Unauthorized回应。

对这个有什么想法吗?

PS:我也尝试过 Mod-Http-Pre-Bind,但由于它不需要密码,我更喜欢使用 http_prebind。

PPS:用户名 AUTH_USER 和密码 AUTH_PASSWORD 的用户实际上必须存在吗?我目前正在使用管理员帐户。

http ejabberd xmpp

5
推荐指数
0
解决办法
790
查看次数

Windows 7 的 HTTP(随机?)连接超时

更新:

  • 重装 Windows 7
  • 已安装的 Windows 8
  • 各种 Apache 调整(AcceptFilter http none...)
  • 已安装的 Windows XP

一些 Wireshark 日志

1   0.000000000 HonHaiPr_0b:36:ae   D-LinkIn_64:ca:28   ARP 42  Who has 192.168.0.1?  Tell 192.168.0.102
2   0.001844000 D-LinkIn_64:ca:28   HonHaiPr_0b:36:ae   ARP 42  192.168.0.1 is at 28:10:7b:64:ca:28
Run Code Online (Sandbox Code Playgroud)

适用于 XP,太糟糕了 PHP 正在放弃支持。

问题:我应该把路由器扔出窗外吗?我不能责怪Windows(在我内心深处我想)

我在 Windows7 上使用 Apache 时遇到(几乎)随机连接超时,以至于我害怕命中F5......我无法解释它何时发生,因为我无法找到模式。

在此处输入图片说明

给我带来麻烦的电脑是马里奥想砸的电脑。这是有趣的部分,它不能从另一台Windows计算机访问(当超时发生时),但它可以从Linux计算机访问。出现超时消息后(大约 30 秒后),它通常会再次工作,如果没有,我必须重新启动 Apache。它们以无线方式连接到便宜的 D-Link 路由器,然后通过电缆连接。

当一切正常时:

  • 我可以从任何计算机访问
  • 我可以通过 DynDNS 从外部(互联网)访问
  • 我可以毫无问题地访问网络(共享)
  • 我不头痛

当它不是:

  • 我无法通过 HTTP ( http://192.168.0.111)访问
  • 我无法通过 DynDNS 从外部(互联网)访问
  • 我可以毫无问题地访问网络(共享)
  • 我可以从网络中的 …

linux windows http timeout apache-2.2

5
推荐指数
1
解决办法
835
查看次数