Articles of apache 2.2

Apache:不安全的请求发送到安全端口…要redirect

前言 首先:一个简单的端口80 – >端口443重写不会解决这个问题。 在几乎每一个以前的问题,邮件线程,论坛线程等,我都发现这是第一个无知的反应,并被多次parrot。 其次:是的,我知道你不能在同一端口上提供HTTP和HTTPSstream量。 这不是那个。 场景: 通过端口倍增托pipe多个站点的Apache服务器。 80号港口是公共场所。 端口443提供该网站的安全版本。 端口7443,8443和9443分别服务于不同的SSL安全站点。 如果用户错误input了URL,或者input了一个无效的链接,比如说http://hostname.tld:7443 ,那么这个页面会出现下面这个荒谬的页面: 而不是服务器只是redirect到https://hostname.tld:7443 。 我的问题是,如何在Zeus的butthole的名义,你可以修改Apache的行为或这个错误消息来redirect用户自动? 即使configuration为HTTPS,Apache显然也会提供非https请求(显示该错误消息)。 对我来说,似乎非常愚蠢的做法是不要默认redirect,但是我可以理解为什么他们按照自己的行为行事,即使我不同意。 所以我的问题是:你能改变它吗? 他们正在处理错误SOMEWHERE,而Apache是​​configuration聚宝盆,这是有原因的,有一些指令的地方来处理这种行为,但我已经无法find它在几个小时的修补到目前为止。 更新: 我尝试了各种各样的东西,包括: 使用ErrorDocument 400指令来获得一个CGI和一个PHP脚本,它只是发送Status 301和Location标题。 这导致一个空白页面。 使用ErrorDocument 400 https://hostname.tld:7443只会导致在页面上显示该链接。 使用几乎所有的mod_rewrite我或谷歌的组合可以拿出来,包括全部指导网站的一揽子声明; 这些都不起作用。 从字面上看,他们什么都不做。 我猜测Apache甚至在尝试处理重写指令之前,都在踢上述错误。 由于自定义端口的使用,我无法使用基于端口的redirect。 我无法使用基于脚本的redirect,因为他们从来没有得到服务,因为http / https不匹配。 我几乎愿意把这个问题归咎于一个错误,或者是一个意想不到的行为,但是有人曾经有过这样一个想法:把一个非常自定义的错误信息放在那里,他们没有想到,也许你只是想购买他们已经提供的 URL?

如何禁用https访问特定的虚拟主机?

好的,所以我有一个Apache服务器设置了以下指令: NameVirtualHost *:80 <VirtualHost *:80> ServerName example1.com ServerAlias www.example1.com DocumentRoot /var/www/html </VirtualHost> <VirtualHost *:80> ServerName example2.com ServerAlias *.example2.com DocumentRoot /var/www/example2 </VirtualHost> <VirtualHost example1.com:443> DocumentRoot /var/www/html ServerName example1.com:443 SSLEngine on … </VirtualHosts> 所以example1.com有SSL支持,可以通过http:// example1.com或https:// example1.com进行访问。 但是,当我在浏览器中访问https:// example2.com时,出现https:// example1.com的意外副作用。 我想要做的就是基本上禁用https:// example2.com,或者将它redirect到http:// example2.com,所以当我访问它时,我不会收到警告和错误的站点。

使用IE调用长时间运行的数据API的PHP / CURL会导致Apache2服务器冻结并要求重启

我正在运行一个PHP程序,只要它没有被微软的IE浏览器调用,然后它产生下面的进程,lockingApache2并且需要重新启动Web服务器(在Ubuntu 12.04LTS上)。 bob@drools:/etc/php5/apache2# ps auxwww | grep apache2 root 8737 0.1 2.5 369164 25800 ? Ssl 12:41 0:00 /usr/sbin/apache2 -k start www-data 8743 0.0 3.2 393748 33268 ? Sl 12:41 0:00 /usr/sbin/apache2 -k start www-data 8755 0.1 3.3 393856 33904 ? Sl 12:41 0:00 /usr/sbin/apache2 -k start www-data 8779 0.1 3.2 393724 33252 ? Sl […]

logrotate与Apache的rotatelogs的优缺点是什么?

Apache提供了一个名为rotatelogs的工具,它具有在旋转logrotate时发生的不重启Apache的好处。 我没有足够的经验可以说,如果这是足够的标准使用rotatelogs over logrotate。 我的问题是任何人都有使用这两种工具的真实生活经验,你的意见是什么? 你会推荐什么?为什么?

访问日志中的空/空Apache请求条目

这个条目被logging在Apache访问日志中: IP ADDRESS – – [00/00/0000:00:00:00-0000] “”301 – “ – ”“ – ” 它被LogWatch检测为空HTTP响应,并且被标记为成功的探测器。 我很好奇这个请求是如何做的,它是如何被认为是一个成功的调查。 以下是我可以解释的具体问题: 他们的要求是“” – 这是什么意思? HTTP返回代码是301:这个网站有一个在Apacheconfiguration中定义的redirect – 也许他们正在触发这个URL触发这个redirect? 他们没有使用正确的HTTP请求 他们得到“ – ”大小返回 – 这是什么意思?

在Apache中设置标题,如果它不存在

我有一个代理注入一些头,但我想修改它,所以它只设置头,如果他们不存在: <Location /api> RequestHeader set MY_HEADER "value" ProxyPass http://127.0.0.1:8000/api ProxypassReverse http://127.0.0.1:8000/api </Location> 这可能吗?

redirectSSL而不提高警报

客户端只有www.site.com版本的域名才具有SSL证书,而不是site.com。 通过mod_rewriteredirect常规的HTTP不是问题。 但是,这种方法似乎失败了我们的HTTPS。 我们希望将https://site.com请求redirect到https://www.site.com 。 可以这样做,而不会引发浏览器中的无效证书警告,或获得通配符证书?

Nginx + Apache的尾随斜杠redirect

我有一个运行在80端口上的Nginx服务器,作为Apache 2.2的代理工作,它正在监听127.0.0.1:8080 当我访问http://hostname/subfolder/它很好。 当我访问http://hostname/subfolder它redirect到http://hostname:8080/subfolder/这是错误的。 据我看到错误的redirect是由Apache返回,但UseCanonicalName和UseCanonicalPhysicalProxy都设置为Off 任何想法如何解决这个问题?

Apache Httpd自定义ErrorDocument 404当ProxyPass返回404

我使用Proxy Pass在另一个应用程序服务器的前面安装了Apache Web服务器。 当对应用程序的请求返回错误404时,我想显示来自Web服务器的自定义错误页面,而不是来自应用程序服务器的错误页面。 我试图在虚拟主机上设置ErrorDocument 404,但是它不起作用。 我应该怎么做? 或者这是不可能的? <VirtualHost *:80> ServerName servername DocumentRoot /somepath/ ProxyPass / http://localhost:8080/someapp/ ProxyPassReverse / http://localhost:8080/someapp/ ErrorDocument 404 /error.html </VirtualHost>

Apache prefork优化 – select正确的`MaxRequestsPerChild`值

我试图优化我们的Web服务器来处理尽可能多的连接。 我读了很多post和Apache的说明。 我试图了解我应该为MaxRequestsPerChildselect哪个值。 起初,我已经尝试将它设置为4000,但服务器处理很多请求时遇到困难,所以我开始提高它。 目前我的设置是: <IfModule prefork.c> StartServers 8 MinSpareServers 5 MaxSpareServers 20 ServerLimit 256 MaxClients 256 MaxRequestsPerChild 40000 </IfModule> 将MaxRequestsPerChild设置为40,000后,服务器设法处理更多的连接,而不使用更多的内存/ CPU。 任何人都可以告诉我,这个价值是否太高,或者可以有这么高的价值吗? 谢谢! OS信息: [root@web06 ~]# uname -a Linux web 2.6.18-164.el5PAE #1 SMP Thu Sep 3 04:10:44 EDT 2009 i686 i686 i386 GNU/Linux [root@web06 ~]# free total used free shared buffers cached Mem: 3814660 […]