Articles of apache 2.2

如果mod_auth_kerb失败,则回退authentication

如果Kerberos身份validation(由于某种原因)失败,有没有办法使Apache恢复到不同的身份validation方法? validation方法的顺序应该是: Kerberos的 活动目录 RSA令牌 RSA令牌authentication由没有AD帐户的外部用户使用。 让我知道如果你需要更多的信息。 谢谢。 我目前的configuration如下: <Directory "/path/to/directory"> AuthType Kerberos AuthName "Please provide credentials to log in" KrbAuthoritative off AuthzLDAPAuthoritative off AuthBasicAuthoritative off AuthBasicProvider this-sso this-ad this-radius Require valid-user SSLRequireSSL </Directory> authentication别名如下: <AuthnProviderAlias kerberos this-sso> KrbAuthRealms THIS.LOCAL KrbMethodNegotiate on KrbMethodK5Passwd off KrbDelegateBasic on Krb5Keytab /etc/apache2/this.keytab.key KrbServiceName HTTP KrbVerifyKDC off </AuthnProviderAlias> <AuthnProviderAlias ldap […]

Apache进程CPU使用中突然出现的瞬间尖峰。 如何追踪?

我正在运行Apache,每过一段时间(似乎每隔一天),apache进程的数量就会大幅度增加,每个CPU占用大约75%的CPU使用量。 我希望能够追踪到这些进程到实际的虚拟主机,获取请求。 有什么build议么?

将手机浏览器redirect到m.domain.com子域时,应该返回哪个状态码?

我很好奇当redirect到达.com.com的移动浏览器并被redirect到m.domain.com时,我应该使用什么状态码。 我觉得301(永久移动)是不正确的,但其他人都不适合。

将子域迁移到子目录,同时在单独的服务器上运行

我目前正在一个跨两个不同的服务器托pipe的网站上工作。 一台服务器托pipe主站点(example.co.uk),另一台服务器托pipe电子商务应用程序(Magento),目前可通过shop.example.co.uk访问。 我可以完全访问托pipe电子商务网站的服务器,并可以完全访问域configuration; 然而,主要网站托pipe在共享主机上,我唯一的访问是通过FTP。 如果没有将电子商务应用程序移动到共享主机,有没有什么办法可以让我们通过example.co.uk/shop访问电子商务网站,只有这个url? 我们只想访问从子目录(为SEO的原因),所以进入shop.example.co.uk域名应该redirect到example.co.uk/shop。 我目前正在试图确定mod_proxy是否在共享主机上可用,尽pipe看起来不太可能。 这是唯一的方法来做到这一点? 编辑:感谢所有迄今为止的答案。 为了解释一下理由,这是一个客户,他希望主办自己的主场地,因为它是由一家独立的公司开发和pipe理的。

在Mac OS X上设置自签名SSL

我正在尝试使用本教程设置一个自签名SSL证书,但是error 18 at 0 depth lookup:self signed certificate级证书创build(带有sign.sh脚本) error 18 at 0 depth lookup:self signed certificate的最后一步,我收到了这些错误error 18 at 0 depth lookup:self signed certificate和error 7 at 0 depth lookup:certificate signature failure 。 我该怎么做才能避免呢?

httpd.conf匹配绝对文件

我在httpd.conf中为虚拟主机提供了以下目录语句。 <Directory c:/foo/bar/*/*/baz> <Files index.php> # something file specific </Files> </Directory> 这与“c:/ foo / bar / * / * /baz/index.php”匹配,而且在子目录中也是“index.php”。 我希望它只能在/ baz(例如绝对文件path)内直接匹配“index.php”,任何想法? 我相对较新的服务器configuration,所以它对我来说有点试错。 (在Windows 7 64位上安装Wamp) 编辑 我只是意识到我可以做一些事情; <Directory /foo/bar> <Files index.php> # something file specific </Files> <Directory /*> <Files index.php> # revert/undo something file specific </Files> </Directory> </Directory> 没有经过testing,但理论上应该是正确的? 编辑2 解决了! <Location /index.php>似乎有诀窍…

某些时候服务器的负载很高,没有解释!

我不知道发生了什么。 我的专用服务器运行Cent OS 5.6 x86_64。 它已经运行了一年多了。 我也从来没有任何磁盘失败。 (或者我从来不知道任何磁盘故障)。 磁盘在RAID中,所以,我不确定,但是可能数据中心可能已经replace了磁盘,而我不知道这一点。 事实是,几天前,奇怪的事情开始发生。 服务器负载变高,即使只有几个请求/秒,一些httpd进程吃100%的CPU。 其他时候,“top”不显示导致高服务器负载的进程,但是whm上的“Service Status”页面显示高负载。 还有一件事是,服务器有时候看起来很慢,不能访问whm或者SSH,但是我可以访问它上面托pipe的网站,而且它们的加载非常快,就像一切正常,即使是高负载也是如此。 现在,服务器负载大约是40。 我注意到的一件奇怪的事情是“写作/写作” Blocks Read/sec = 1607.11 Blocks Written/Sec = 11836.01 我认为书面/封闭的区块比正常要高。 服务器托pipe一个受欢迎的照片效果网站,所以它获得了大量的stream量,但我认为它的奇怪… Apache被优化,具有相同的configuration,并且在问题开始之前服务器的访问者是相同的。 什么可能导致这个?

Apache重写规则不匹配冒号(:)

我在编写规则时遇到了麻烦,它会将http:// localhost / hello:world这样的地址重写为http://localhost/hello/world.html 我在httpd.conf中的RewriteRule如下所示: <Directory "D:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all RewriteEngine On RewriteBase / RewriteRule ^hello:world$ /hello/world.html [L,QSA] #Doesn't work RewriteRule ^hello_world$ /hello/world.html [L,QSA] #Works great! </Directory> 当我尝试http:// localhost / hello:world时 ,我收到一个403 Forbidden页面。 特别要注意的是,这个规则 RewriteRule ^hello_world$ /hello/world.html [L,QSA] 通过http:// localhost / hello_world工作得很好。 我在Windows Server […]

使用mod_proxy通过%20代理URL时的Apache 500

当URL中存在编码空间时,我们正在接受来自Apache的500个代理,而代理对tomcat的调用。 我们正在迁移一个运行良好的J2EE容器的应用程序,该容器有一个较早的集成版本的Apache(1.x),但是当我们将应用程序移动到Tomcat + Apache 2 + mod_proxy后,我们开始发现错误。 例如: http://foo.org/app/rest/no_spaces/ works fine http://foo.org/app/rest/no%20spaces fails with a 500 如果我们直接打了tomcat,那么请求就可以正常工作,而且我们知道在通过Apache时它并没有到达servlet。 对于foo.org上的服务器,代理configuration如下: ProxyPass /app ajp://127.0.0.1:8080/app ProxyPassReverse /app ajp://127.0.0.1:8080/app 我们尝试切换到HTTP而不是AJP,而不会改变错误。 主要的理论是,mod_proxy正在解码%20,然后期望看到其他HTTP头信息,而不是剩余的URL子string,并导致500.如果是这样的话,有没有人有一个解决方法,不涉及重写应用程序。 如果这不是原因,有没有人有什么build议呢? 我没有看到在我的search中确切的症状的文档或错误报告。 提前致谢。

Apacheconfiguration使NTLM身份validation通过代理工作

我在Apacheconfiguration文件中运行一个应用服务器,在我的Apacheconfiguration文件中有以下几种: ProxyPass /app http://myapplication:8080/myapp ProxyPassReverse /app http://myapplication:8080/myapp 当我打开NTLM身份validation(使用mod_ntlm)身份validation失败(绕过代理时,它工作正常)。 由于特定于连接的NTLM规范,在代理之后运行NTLM时,快速search会显示很多问题。 有没有人有一个工作的Apacheconfiguration,允许通过代理NTLM身份validation? 谢谢你的帮助。