标签: httpd

连接被重置

我最近在我的客户端 Web 服务器上设置了一个子域。这是 vhost 设置:

Listen *:80

#primary domain
<VirtualHost *:80>
    # rails public folder
    DocumentRoot /u1/thisdomain.com/public
    ServerName thisdomain.com
    RailsEnv production
</VirtualHost>

#my subdomain
<VirtualHost *>
        ServerName dev.thisdomain.com
        DocumentRoot /u1/dev.thisdomain.com/public
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

进行配置测试时,我没有收到任何 apache 配置错误。我优雅地重新启动 apache。我在子域文档根中抛出了一个基本的 index.html。

现在,当我尝试访问子域时,我得到:

在 Chrome 中:

The webpage is not available. Error 101 (net::ERR_CONNECTION_RESET): Unknown error.
Run Code Online (Sandbox Code Playgroud)

在 Firefox 中:

The connection was reset

The connection to the server was reset while the page was loading.
 *The site could be temporarily unavailable or too busy. Try again …
Run Code Online (Sandbox Code Playgroud)

configuration httpd web-server centos apache-2.2

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

为什么 apache 会用代码 200 记录对 GET http://www.google.com 的请求?

我最近被问到“是什么导致我们的 access.log 中出现这样的一行?”

59.56.109.181 - - [22/Feb/2010:16:03:35 -0800]“获取http://www.google.com/ HTTP/1.1" 200 295 "-" "Mozilla/5.0(兼容;MSIE 5.01 ; Win2000)"

我的直接回答是有人在探索一些有点狡猾的东西。

但:

  • 如何?推测...一个简短的 perl 或 python 脚本可以很容易地连接并请求一个带有无效主机的 URL。
  • 漏洞?当他们这样做时,他们在寻找什么,他们学到了什么,我们应该修补它吗?
  • 我需要一顶锡箔帽子来防止他们读懂我的想法吗?
  • 对我来说真正的问题是:那不应该是 404 响应,而不是 200 响应!?

这是在标准 LAMP 服务器 (Ubuntu) 上。

linux http httpd vulnerabilities apache-2.2

4
推荐指数
1
解决办法
9060
查看次数

增加httpd进程优先级有什么影响(负nice)?

将进程调整为负的 nice 级别会增加进程的调度优先级。高优先级进程在低优先级进程之前运行。它们还可以在被抢占之前运行更长时间(它们获得更长的时间片)。

在 web 服务器上,使用负的 nice值运行httpd 进程应该减少上下文切换,从而提高整体性能

有没有人试过这样做?它有什么不同?响应时间是否有所改善?响应时间标准偏差是增加还是减少?吞吐量是否有所提高?

编辑:

我不打算降低其他进程的优先级;而且我不打算修复过载的系统。我想知道负的 nice 级别是否会影响减少的上下文切换,如果是,这对响应时间和吞吐量有什么影响。

httpd task-scheduler nice

4
推荐指数
1
解决办法
2300
查看次数

Apache - httpd.conf 使用 X-Forward-For 重定向 - 不工作?

我在重定向流量时遇到了一个问题。基本上,我正在构建一个新的 Web 服务器并且它位于我域的另一个版本上,所以我想重定向流量而不是来自这个 IP。

问题是 Amazon 的 ELB 负载均衡器妨碍了,因此它替换了 REMOTE ip 地址。正常获取方式。研究发现我需要使用 %{X-Forward-For}i - 但它不起作用,我不知道我的位置和语法是否正确。我正在运行虚拟主机,所以我放入了 VirtualHost 标签......

<VirtualHost *:80>
    ServerAdmin webmaster@foo.com
    DocumentRoot /var/www/vhosts/foo/www.bar.com/htdocs/
    ServerName www.bar.com
    ErrorLog /var/www/vhosts/foo/www.bar.com/logs/error.log
    CustomLog /var/www/vhosts/foo/www.bar.com/logs/access.log common
    RewriteEngine On
    RewriteCond %{X-Forwarded-For}i !^xxx\.xxx\.xxx\.xxx
    RewriteRule ^.*$ http://www.bar.com/ [R,L]
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

Obv xxx.xxx.xxx.xxx 是我的 IP。

这是错误的吗?

mod-rewrite httpd redirect 301-redirect apache-2.2

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

如何为别名设置环境

我在 apache 配置中配置了几个别名。我想为他们每个人设置一个环境变量。如何?

我有这个

/alias1 /mapped/to/a/path
/alias2 /mapped/to/a/path
/alias3 /mapped/to/a/path
/alias4 /mapped/to/a/path
/alias5 /mapped/to/a/path
Run Code Online (Sandbox Code Playgroud)

我想要的是为每个别名转发一个环境变量

就像是

/alias1 /mapped/to/a/path AND SetEnv VAR=a
/alias2 /mapped/to/a/path AND SetEnv VAR=b
/alias3 /mapped/to/a/path AND SetEnv VAR=c
/alias4 /mapped/to/a/path AND SetEnv VAR=d
/alias5 /mapped/to/a/path AND SetEnv VAR=e
Run Code Online (Sandbox Code Playgroud)

linux httpd alias environment-variables apache-2.2

4
推荐指数
1
解决办法
2796
查看次数

Apache:需要基本身份验证,特定的 POST 请求除外

(RHEL 6.2,Apache 2.2.1)

我正在尝试让 LAMP 站点在基本身份验证后运行以防止一般访问(它是仍在生产中的站点的测试环境)并且我遇到了一个问题,即多文件上传功能失败,因为它没有正确处理验证; 我可以在 Apache 日志中看到 POST 的身份验证被删除

10.77.34.123 - testuser [14/Mar/2012:14:10:13 +1100] "GET /index.php/tools/required/files/import?ocID=&searchInstance=file1331694544 HTTP/1.1" 200 8558
10.77.34.123 - testuser [14/Mar/2012:14:10:13 +1100] "GET /concrete/js/swfupload/swfupload.js?_=1331694608575 HTTP/1.1" 200 36807
10.77.34.123 - testuser [14/Mar/2012:14:10:13 +1100] "GET /concrete/js/swfupload/swfupload.handlers.js?_=1331694608601 HTTP/1.1" 200 6443
10.77.34.123 - testuser [14/Mar/2012:14:10:13 +1100] "GET /concrete/js/swfupload/swfupload.fileprogress.js?_=1331694608621 HTTP/1.1" 200 7529
10.77.34.123 - testuser [14/Mar/2012:14:10:13 +1100] "GET /concrete/js/swfupload/swfupload.queue.js?_=1331694608636 HTTP/1.1" 200 3479
10.77.34.123 - testuser [14/Mar/2012:14:10:14 +1100] "GET /concrete/flash/swfupload/swfupload.swf?preventswfcaching=1331694608650 HTTP/1.1" 200 12419
10.77.34.123 - - [14/Mar/2012:14:10:20 +1100] "POST /index.php/tools/required/files/importers/multiple HTTP/1.1" 401 …
Run Code Online (Sandbox Code Playgroud)

httpd lamp apache-2.2

4
推荐指数
1
解决办法
2259
查看次数

httpd 的包依赖项是什么?(rhel 5)

我们公司使用自制的存储库和一个系统来配置它们,目前无法正常工作。这给我带来了问题,因为我无法添加存储库,因此无法在此 RHEL 5 机器上安装软件。

我可以登录到 red hat 并下载软件包,但是当您运行“yum install httpd”时,我找不到包含在软件包组中的所有内容的列表。任何人都可以提供这些软件包的列表吗?我会很感激。

redhat httpd

4
推荐指数
1
解决办法
4045
查看次数

How to set different mod_mime rules for reverse proxy?

By default, httpd contains the following configuration:

<IfModule mime_module>
    #
    # TypesConfig points to the file containing the list of mappings from
    # filename extension to MIME-type.
    #
    TypesConfig conf/mime.types
    ...
</IfModule>
Run Code Online (Sandbox Code Playgroud)

This file contains a mapping from filename extensions to MIME types. Normally this is what I want, but I'd like to disable mapping for reverse proxies. How can I instruct mime_module to process /* but exclude /proxy/*?


Why?

mime_module contains the following line:

application/x-msdownload            exe dll com …
Run Code Online (Sandbox Code Playgroud)

httpd httpd.conf mime-type

4
推荐指数
1
解决办法
1858
查看次数

Apache 不启动:语法错误....DocumentRoot 必须是一个目录

我阅读了以前的所有答案,但我无法解决我的问题.. 我正在更改托管网站的服务器,并再次设置 apache.. 现在,在安装 php、fail2ban 等之后,我遇到了这个问题:

service httpd start 
Avvio di httpd: Syntax error on line 292 of /etc/httpd/conf/httpd.conf: DocumentRoot must be a directory
                                            [FALLITO]
Run Code Online (Sandbox Code Playgroud)

我已经禁用了 selinux 并重新启动了,但什么也没发生..

sestatus 
SELinux status:                 disabled
Run Code Online (Sandbox Code Playgroud)

在其他答案中,我阅读了该帖子..但我不知道它是什么,但我看到它与我看到的其他非常不同..

ls -laZ /var/www/html/
drwxr-xr-x root root ?                                .
drwxr-xr-x root root ?                                ..
drwxr-xr-x root root ?                                form
Run Code Online (Sandbox Code Playgroud)

显然我的 httpd.conf 有

DocumentRoot "/var/www/html”
Run Code Online (Sandbox Code Playgroud)

我需要的根是

DocumentRoot "/var/www/html/form”
Run Code Online (Sandbox Code Playgroud)

现在使用默认根目录不起作用,但在编辑某些文件(我不记得是哪个)之前,它正确启动。我希望你能帮助我.. 我使用的是 cents 6.5 x64.. 非常感谢

安德烈亚

httpd selinux centos documentroot apache-2.2

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

apache 错误和访问日志丢失,可能是什么原因以及如何重新创建它们?

我接到了一项任务,要了解为什么 2 个运行 apache 2.2.3 的 CentOS Web 服务器在特定情况下会遇到非常高的负载。我检查的第一件事是/var/log/messages但后来我意识到 rsyslog 由于某种原因被关闭,所以我启动它并使用chkconfig. 然后,我想检查 apache 错误和访问日志,所以我浏览到/var/log/httpd但发现该文件夹为空。我检查/etc/httpd/conf/httpd.conf并看到了这些行:

ErrorLog logs/error_log
CustomLog logs/access_log combined
Run Code Online (Sandbox Code Playgroud)

据我所知,它指的是/var/log/httpd/但如前所述文件夹为空。在写这个问题时,我在服务器上寻找 httpd 版本并运行httpd -v,这就是我得到的响应:

[root@domU-IP httpd]# httpd -v
Server version: Apache/2.2.3
Server built:   May  4 2011 06:51:15
Unable to open logs
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. 什么可能导致日志消失?(有可能它们一开始就没有被创造出来)
  2. 如何重新创建日志并确保将数据写入其中?
  3. 应该设置哪些权限/var/log/httpd?当前权限为:drwx------ 2 root root

提前致谢

httpd log-files apache-2.2

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