标签: http

响应时间随着时间的推移而变慢,从哪里开始故障排除?

当我提出这个问题时,我的 IT 人员只是耸了耸肩,所以我转向 SE 寻求帮助。

我认为这张图最能说明问题。

http性能图

很简单,随着时间的推移,响应时间变得越来越糟,直到午夜左右发生一些事情,它几乎恢复正常。我们在 IIS 上,这个页面碰巧仍然在经典 ASP 中,但这发生在所有页面上,甚至是纯 HTML 页面,我认为这排除了 SQL 连接问题。

我想我的问题是,我从哪里开始寻找?我浏览了常规日志,没有看到任何跳出来的东西。但显然有些事情正在发生,我不知道从哪里开始。

iis windows-server-2008 http

6
推荐指数
1
解决办法
601
查看次数

Apache 随机停止提供 HTTPS,但 HTTP 工作正常

我们在 Windows Server 2012 上有这个 Apache:

Server version: Apache/2.4.9 (Win32) Apache Lounge VC10 Server built: Mar 17 2014 10:48:43

大多数情况下,它运行良好,但有时(随机,每周 cca 3-4 次),它停止在端口 443 上提供 HTTPS,但继续在端口 80 上提供 HTTP。当它停止提供 HTTPS 时,解决问题的唯一方法是重新启动 Apache。

这似乎与这里的问题完全相同:Apache 停止响应 http 请求——https 继续工作,除了在我们的例子中是 HTTPS 停止工作,而 HTTP 是一直工作的那个。

我们启用了 trace6 级别的详细信息,以获取有关正在发生的事情的一些好的信息。但是,日志是空的:

...
[Sat Mar 21 07:51:50.577373 2015] [ssl:debug] [pid 3356:tid 2540] ssl_engine_io.c(999): [client ...:16529] AH02001: Connection closed to child 137 with standard shutdown (server ...:443)
[Sat Mar 21 07:54:21.936742 2015] [ssl:info] [pid 4760:tid 432] AH01914: …
Run Code Online (Sandbox Code Playgroud)

http https not-responding windows-server-2012 apache-2.4

6
推荐指数
1
解决办法
8990
查看次数

wget 接收文件并挂起

我试图解决奇怪的问题 - wget 获取文件,将其保存到磁盘并挂起。以下是详细信息:

wget --server-response --ca-directory=/etc/ssl/certs --no-dns-cache -T 1 --read-timeout=1 --header="Connection: close" https://api.vk.com/method/users.get?uids=1&fields=first_name,last_name,photo,photo_big
Run Code Online (Sandbox Code Playgroud)

详细日志:

Setting --server-response (serverresponse) to 1
Setting --ca-directory (cadirectory) to /etc/ssl/certs
Setting --dns-cache (dnscache) to 0
Setting --timeout (timeout) to 1
Setting --read-timeout (readtimeout) to 1
Setting --header (header) to Connection: close
DEBUG output created by Wget 1.11.4 on linux-gnu.

--2015-05-06 10:44:04--  https://api.vk.com/method/users.get?uids=1
Resolving api.vk.com... 87.240.131.117, 87.240.131.118, 87.240.131.119, ...
Connecting to api.vk.com|87.240.131.117|:443... connected.
Created socket 3.
Releasing 0x0000000001b6d5e0 (new refcount 0).
Deleting unused 0x0000000001b6d5e0.
Initiating SSL …
Run Code Online (Sandbox Code Playgroud)

http wget

6
推荐指数
1
解决办法
6899
查看次数

yum repo 响应 [Errno 14] HTTP 错误 403 - 禁止

我正在尝试设置一个 YUM 存储库,其中包含我们每晚 Jenkins 构建的一些 RPM 包。

YUM 存储库位于 Jenkins 服务器的存储库文件夹中[path to repo]/jenkins-nightly-build/[release name]-repo。在所有作业完成后,它们被放置在 repo 中。最后,更新存储库元数据。

但是,当我尝试更新另一台机器时,存储库以 [Errno 14] HTTP Error 403 - Forbidden.

这是驻留在客户端计算机上的 .repo 文件:

[jenkins-nightly]
name=jenkins-nightly
baseurl=http://[hostname]/jenkins-nightly-build/[release name]-repo
gpgcheck=0
enabled=1
Run Code Online (Sandbox Code Playgroud)

如您所见,.repo 文件非常简单。我已经尝试过yum clean all,并且yum repolist确实打印了适当的 repo。打印所有预期的包,并在yum update调用时尝试下载。由于某种原因,客户端没有任何访问权限。

我需要编辑其他一些配置文件吗?为 Jenkins 安装的 Apache 会干扰 YUM 存储库吗?请帮忙!!!如果需要更多信息,请告诉我。

http redhat yum rpm http-status-code-403

6
推荐指数
1
解决办法
3万
查看次数

4000 个请求中有 1 个出现 HTTP 499 错误是否正常?

我在 CloudFlare 后面创建了一个网站,有时我会收到一个提前终止的 (nginx 499) 请求,这在代码库中真的很难解决。

这发生在大约 4000 个请求中的 1 个中。

我想问一下这是正常的还是不正常的?CloudFlare 支持告诉我,当 CF 和服务器之间的某些事情断开连接时,会发生 499。我不在 AWS 上,不在负载均衡器上,而是在具有直接 IP 连接(没有虚拟路由器等)的简单 VPS 上

http nginx tcp packetloss cloudflare

6
推荐指数
1
解决办法
2万
查看次数

配置 nginx 以发送带有 HTTP 正文的页眉和页脚的响应

我有一个文件夹中的备忘录集合 一个/memos/items/备忘录用于包含 HTML 标题部分的 SSI 包含语句,直到并包括开头<body>,然后是备忘录内容的 HTML 代码,最后是进一步的 SSI 包括包含关闭 HTML 文档的代码的页脚的语句,如下所示:

<!--# include file="/memos/header.html" -->
Dies ist ein <i>Testeintrag</i>.
<blockquote>
Man soll den Tag
nicht vor dem Abend loben
</blockquote>
<!--# include file="/memos/footer.html" -->
Run Code Online (Sandbox Code Playgroud)

这很有效,但我不喜欢单项文件中的 SSI 语句。我更愿意指示 nginx 自动提供页眉和页脚,配置类似于

location ~ /memos/[\w-]+$ {
  sendfile /memos/before.html;
  sendfile $request_filename;
  sendfile /memos/after.html;
}
Run Code Online (Sandbox Code Playgroud)

这可能吗?是否有一个 nginx 模块提供了一个sendfile像描述的那样工作的指令?

优点是:

  • 包含项目的文件夹仅包含纯内容,没有附加指令。因此,当提供“搜索”功能时,可以grep编辑文件夹。
  • 避免了冗余(页眉和页脚的“包含”指令只存在一次,而不是在每个重复的文件中。

编辑 (2016/07/01)

同时,我通过简单地改变视角,找到了具有上述优点的 SSI 解决方案(即仅提供项目文件内容,没有 ssi 标签):而不是在每个单独的项目文件中包含页眉和页脚,我包括单个主模板中的项目文件。

受到nginx 站点上的提议的启发;我配置

 location /memos/ {

    ssi …
Run Code Online (Sandbox Code Playgroud)

http nginx

6
推荐指数
1
解决办法
2711
查看次数

11:资源暂时不可用,连接upstream + Bad Gateway (Nginx)

对于我的新服务器上的所有站点,似乎一旦nginx提供了一定数量的流量,它就会开始提供“错误 502 - 错误网关! ”。

让我们来看看一些日志和配置...

  • 操作系统:Ubuntu 16.04(服务器)

  • 硬件:6核,12GB内存

  • 面板:ISPConfig

  • nginx 版本:1.10.3

来自/var/www/example/log/error.log:

11: Resource temporarily unavailable) while connecting to upstream, client: 216.170.123.179, server: example.com, request: "GET /KHFxygk9 HTTP/1.1", upstream: "fastcgi://unix:/var/lib/php7.0-fpm/web3.sock:", host: "example.com", referrer: "http://example.com/"
2017/08/10 06:01:06 [error] 15408#15408: *31372 connect() to unix:/var/lib/php7.0-fpm/web3.sock failed (11: Resource temporarily unavailable) while connecting to upstream, client: 192.3.114.12, server: example.com, request: "GET /jiPNQjwp HTTP/1.1", upstream: "fastcgi://unix:/var/lib/php7.0-fpm/web3.sock:", host: "example.com", referrer: "http://example.com/"
Run Code Online (Sandbox Code Playgroud)

这是我的配置文件:

  • /etc/php/7.0/fpm/pool.d/www.conf

[www]    
user = …
Run Code Online (Sandbox Code Playgroud)

linux http nginx php-fpm php7

6
推荐指数
2
解决办法
2万
查看次数

DNS 无法解析 IP

我希望 app.dotaquiz.org 可以使用我的网络服务 (185.156.179.139)。所以我已经注册了域名。我还创建了一个 A 记录 (app-A-185.156.179.139)。

对http://185.156.179.139/users/1 的GET 请求给出 OK-200。

对http://app.dotaquiz.org/users/1 的GET 请求给出 404。

我缺少什么?

domain-name-system http

6
推荐指数
1
解决办法
3162
查看次数

如何在 Apache 中禁用 HTTP 1.0 协议?

HTTP 1.0 存在与会话劫持相关的安全弱点。有没有办法通过使用mod_rewrite模块来禁用它?

http

6
推荐指数
2
解决办法
4278
查看次数

HTTP 状态代码表示主机标头损坏或丢失

是否有适用于通过 SNI 或 HTTP Host 标头发送错误主机名(或根本没有)的客户端的 HTTP 状态代码?

一个较旧的问题首先解决了此类请求如何以及为何发生,以及如何在 Apache 中从技术上处理它们。然而,它没有解决响应状态代码的选择问题。

过去,我实现了一个 HTTP 代理,它会发送状态代码 502 和一个 html 页面,解释为什么会产生错误消息。我使用 502 的理由是期望我看到它主要是由于配置错误,这意味着代理找不到合适的后端。实际上,仅仅看到完全虚假的主机名的频率要高得多。

是否有另一个状态代码更合适,更清楚地向客户端发出信号,表明此 IP 地址上的服务器无法识别通过 SNI 和/或主机标头发送的值?

http https http-headers sni http-status-code

6
推荐指数
1
解决办法
6658
查看次数