Articles of Apache的2.2

Apache内部虚拟连接

在我的Apache访问日志中,我有超过一千万个这样的查询: ::1 – – [21/Nov/2011:16:15:54 +0000] "OPTIONS * HTTP/1.0" 200 – "-" "Apache/2.2.15 (Unix) PHP/5.2.13 (internal dummy connection)" 这是由于mod_rewriteredirect或什么? 他们为什么在IPv6表示法中显示? 让我知道,如果你需要更多的服务器configuration信息。 我使用Debian 5.0。

如何将nginxconfiguration为服务单个虚拟主机,除了apache

我目前有一个单一的Apache服务器,在那里定义了几个命名的虚拟主机,所有的服务在同一个IP上,在端口80上。 不过,我有一个静态的虚拟主机(一个特定的领域),我想用nginx服务。 这可能不需要我设置nginx转发所有请求到其他虚拟主机? 我真的想避免,我需要列出在Apache和Nginx的每一个虚拟主机,这是一个configuration错误的秘诀…

如何覆盖htpasswd子目录的默认行为?

我已经在http.conf中包含以下密码保护根目录和所有子目录: <Directory /root> AuthType Basic AuthName "Restricted Files" AuthUserFile /usr/local/apache/passwd/passwords Require user dummy </Directory> 不过,我想允许所有访问子目录, subdirectory但下面的代码,我已经包含在http.conf中无法正常工作 <Directory /root/subdirectory> Order Deny,Allow Allow from all </Directory> 我将如何防止htpasswd的默认行为在该子目录上工作?

apache2:要求有效用户,并允许所有

我想要允许基本身份validation,但不要求它。 所有的访问者 – 不pipe是否authentication – 都应该能够访问一个页面(脚本),脚本可以为有效用户添加特殊function。 因此,首先尝试基本身份validation,如果失败,则允许访问。 脚本将决定下一步该做什么。 我宁愿不要在脚本中进行整个身份validation,而是让apache进行身份validation,并将用户名(如果有的话)传递给脚本。 我实际上是在创build一个SOAP服务,而不是一个网站,但是你可能会想象一种情况,你可以访问一个网站的主页,而不用提示input用户名/密码,然后访问一个只激活http-authentication。 重新访问主页现在可以导致个性化的主页。 我一直在捣鼓.htaccess文件,并得到了这么多: AuthType Basic AuthName "Beveiligde website" AuthUserFile .htpasswd require valid-user Order allow,deny Allow from All satisfy any 这确实允许所有,但是不幸的是不会先尝试身份validation(至less不是我能看到的。)PHP中的环境variablesAUTH_TYPE是空的,即使使用了有效的凭据。 这种方式还可以结合吗? 我可以想象,只有在允许/拒绝规则导致拒绝的情况下,apache才会尝试基本身份validation。 有没有办法强制基本身份validation呢? 还是我用这个方法呢?

apache standalone vrs initd

我正在做一些阅读,似乎运行apache standalone是首选initd。 本书指出在initd下运行效率不高,而且在initd下运行也存在安全风险。 他们继续进一步说明,这个initd或standalone的选项已经在apache2中被删除了。 这是有道理的,因为我的安装问我什么都没有。 所以如果这个选项在apache2中被删除了,你是直接运行的,initd还是standalone? 我仍然通过/etc/init.d/apache2启动并停止服务器,所以我运行的是init.d而不是独立的,而且我还有更多的安全问题? 有没有办法告诉你正在运行?

Apache2 Web服务器502错误

所以我昨天晚上和我的Apachenetworking服务器一起睡觉,我醒来时有一大群人告诉我他们无法访问我的网站,spootur.com。 这是networking的方式有点奇怪。 它位于大学networking内部,但是可以从外部访问,因为它使用公共IP。 奇怪的是,从networking内部访问网站时我没有遇到任何错误,但大学networking之外的任何人都会收到502错误。 自从我上床睡觉以后,我在服务器上没有任何改变(当时工作正常)。 任何想法是什么可能造成这个? 另外:我只使用默认的Apache mods

基于当前URL的不同的ErrorDocument

一旦发生内部服务器错误,我想要部署不同的错误页面。 我知道你可以定义你自己的错误页面使用该指令的Apache ErrorDocument 500 /errors/500.html 但是,我想在我的FrontPage上显示一个人类的readale版本,但是一旦我的api运行到内部服务器错误时,就会发送一个xml文件。 我尝试使用RewriteCond,但即使没有configuration问题,我无法得到预期的结果。

Apache反向代理可检测?

我用mod_rewrite [P]设置了一个简单的反向代理。 这是可检测的任何方式? 我没有看到任何代理相关的头传回给客户端。 好奇的是,如果有任何其他方式可以检测到请求已被代理。

为什么Apache会响应http:// machineName

我想阻止Apache响应 http://machineName. 我更喜欢它回应(或redirect?) http://machineName.something.com 就我而言, http://intra-beta 应该要么repond或redirect到 http://intra-beta.domain.ca 这与useCanonicalName有关吗? 这是我的httpd.conf的一个片段 … ServerName xxx.xxx.xxx.xxx:80 NameVirtualHost *:80 … UseCanonicalName Off … <VirtualHost *:80> ServerName intra-beta.domain.ca DocumentRoot "E:/web/intra/htdocs" ServerAdmin [email protected] … </VirtualHost> <VirtualHost *:80> ServerName intra.otherDomainFr.ca DocumentRoot "E:/web/intra/htdocs" ServerAdmin [email protected] … </VirtualHost> <VirtualHost *:80> ServerName intra.otherDomainEn.ca DocumentRoot "E:/web/intra/htdocs" ServerAdmin [email protected] … </VirtualHost> 编辑#1 这似乎工作到目前为止… RedirectMatch (.*) intra-beta.domain.ca$1 编辑#2 […]

指向通配符文件夹的子域

我最近有我的域名与我的服务器正常工作,并设法让子域名指向特定的文件夹。 不过,我刚刚注意到一个小问题。 我有/etc/apache2/sites-enabled/000-default设置为: <VirtualHost *:80> VirtualDocumentRoot /local/www/%1 ServerName *.dev.localhost </VirtualHost> 当我去test.dev.mydomain.co.uk它显示/local/www/test/ ,这很好。 但是,我错误的域名,并意识到test.mydomain.co.uk也做同样的事情,当你错过了.dev. 部分。 我不想要这样的事情发生。 有人可以提出任何修正?