Articles of apache 2.2

Apache 2 WebDAV,服务器垃圾文件夹?

我刚刚开始在CentOS 5上使用Apache 2.2下的WebDAV进行试验。虽然Windows WebDAV客户端很笨重,远远没有达到应有的程度,但它运行良好。 当用户通过WebDAV删除文件时,是否有办法将其移动到服务器上的指定文件夹而不是删除? 所以你可以设置一个垃圾文件夹,以便任何删除的东西可以通过服务器访问pipe理员可以恢复?

configuration虚拟主机以使用名称和端口号

在我的本地机器上,我有几个命名的虚拟主机设置在Apache,所有的端口80。 NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot "/site1" ServerName http://site1.local <Directory "site1" > Options +Includes Order Deny,Allow Allow from all </Directory> </VirtualHost> <VirtualHost *:80> DocumentRoot "/site2" ServerName http://site2.local <Directory "site2" > Options +Includes Order Deny,Allow Allow from all </Directory> </VirtualHost> 为了在移动设备上进行testing,我需要通过我的计算机的IP地址访问这些站点,在这种情况下,首先声明的虚拟主机是默认的。 我假设我需要在不同的端口上设置一些东西,以便能够访问同一个IP地址上的多个虚拟主机,但是我已经尝试了很多变化,并且无法使用远程端口工作但是这个名字在当地仍然有效。 如何设置在不同端口上命名和侦听的多个虚拟主机。 这甚至有可能吗?

Apache mod_cache:仅剥离/忽略Google Analytics(分析)Cookie

清漆有可能从请求中删除某些cookie ,然后再决定请求是否因包含cookie而不可caching。 Apache的mod_cache有这样的事情吗? 考虑到这种情况:Apache 2.2是一个反向代理,有很多configuration(多个VirtualHosts,4个后端服务器,基于主机和path的身份validation),我真的很喜欢 – 因为它工作。 现在为了加快Django站点的交付速度,我想将所有请求caching到某个VirtualHost – 除了携带Django会话cookie的请求外(例如login员工请求)。 现在这个请求显然是随着cookie的变化而变化的,例如,一个用cookielogin的用户总是被赋予一个新鲜渲染的页面,而没有cookie的用户被赋予一个caching的响应。 因此, Vary: cookie将是正确的caching控制标题做到这一点:始终新鲜呈现当存在的Cookie。 但是,Google Analytics(GA)(以及其他基于Cookie的跟踪机制,如eTracker) 始终设置Cookie。 Apache可以忽略GA-cookie和Django会话cookie的变化?

虚拟主机redirect不存在的子域名

我有这个在我的虚拟主机文件,它指示所有不存在的主要www的子域。 <VirtualHost *:80> ServerName mysite.com ServerAlias *.mysite.com Redirect 301 / http://www.mysite.com/ </VirtualHost> 我现在的问题是有些人通过www.mysite.com.链接到我的网站www.mysite.com. 注意. 最后。 这导致CMS中断。 有没有一种方法来修改此ServerAlias或另一种方式,以便它有一个通配符? 我试着添加一个*但这没有奏效。 这是这个域的完整的虚拟主机: # DEV <VirtualHost *:80> ServerName dev.mysite.com DocumentRoot /var/www/mysite.com/subdomain/dev/public ErrorLog /var/log/apache2/mysite.com-error.log LogLevel warn CustomLog /var/log/apache2/mysite.com-access.log combined </VirtualHost> <VirtualHost *:80> ServerName www.mysite.com DocumentRoot /var/www/mysite.com/public <Directory /var/www/mysite.com/public> Options +FollowSymlinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] […]

我怎么能覆盖mod-php5的.php映射到每个VirtualHost或目录的php4-CGI?

我使用apache2和libapache2-mod-php5 5.3.3-7运行Debian Linux。 我有一个需要php4的VirtualHost。 所以我研究并编译了php4-cgi。 但是,我似乎无法: 在这个虚拟主机(或者甚至是全局的,不禁止php完成)中覆盖mod-php5的.php映射。 甚至find映射的地方,希望禁用它,并启用每个虚拟主机的mod-php5或php4-cgi。 这是我的php4-cgi映射(在一个php4虚拟主机中): ScriptAlias /php4 /usr/local/php4/bin <Directory /usr/local/php4/bin> Options +ExecCGI +FollowSymLinks </Directory> <Directory /www/test> AddHandler php4-cgi-script .php Action php4-cgi-script /php4/php Options +ExecCGI </Directory> 这是行不通的,mod-php5仍然运行在这个vhost /目录中的所有.php文件。 如果我将上面的AddHandler中的文件扩展名从.php更改为.php4,那么.php4文件会按照预期运行php4-cgi,但是我不能将应用程序中的所有文件都更改为.php4。 我想也许我可以在我的虚拟主机或目录中禁用mod-php5的映射,然后执行我的cgi-config(如上所述),但在不同的上下文中这些组合不起作用: RemoveHandler .php RemoveType .php php_flag engine off (this seems to even disable my php4-cgi so that wont work) 唯一的其他地方我可以find任何映射在/etc/mime.types,但注释掉相关的行并重新启动apache2不影响mod-php5的.php映射。 我尽可能地search,现在对我来说是个谜。 任何帮助或方向将不胜感激。

nginx负载平衡问题与301从后端

我遇到了一个奇怪的问题,我不确定这是一个configuration问题还是nginx中的一个错误。 我的设置是一个具有Apache2后端服务器的nginx反向代理。 负载平衡器非常基本,类似于wiki的例子 ,例如简化: http { upstream myproject { server 127.0.0.1:8000; } server { listen 80; location / { proxy_pass http://myproject; } } } 现在,当我尝试在Apache中请求一个目录时,出现了一个问题,例如在URL末尾没有结尾的斜线。 例如,客户端请求: http://apache.myserver.com/somedirectory Apache将回复一个HTTP 302redirect客户端 http://apache.myserver.com/somedirectory/ 请注意,最后注意到它是一个目录的url有一个斜线。 还要注意,通过在redirect头中使用传入的请求主机名,Apache是​​“聪明的”。 迄今为止都很好。 但是,当使用nginx进行负载均衡时,会将301发送到客户端,而不会将nginx上游名称转换回实际的服务器/域。 所以客户将收到以下内容: GET http://nginx.myserver.com/somedirectory HTTP 301 Moved Permanently … Location: http://myproject:8000/somedirectory/ myproject是nginx上游后端的名称。 它不是客户可以解决的实际主机。 在我看来,客户应该被redirect到 http://nginx.myserver.com/somedirectory/ 即上游后端的名称应该在响应头中被replace。 这是一个在Nginx的错误,或者我做错了什么?

nodejs是否依赖于apache的common / util文件?

我想知道如果nodejs依赖于Apache的普通/ util文件? 正如我记得PHP的要求,并取决于一些Apache通用文件。 所以问题是:nodejs是否具有内置的web服务function作为Apache软件,因此不需要安装在服务器上的Apache? 更新:更一般的问题是PHP或nodejs或类似的软件可以成为一个Web服务器只是自己没有任何Web服务器软件,如阿帕奇? 也许可以这么说,在PHP的情况下使用HTTP库扩展,但是似乎库使用了一些Web服务器软件的共享对象,所以它已经不是纯粹的PHP了。

你将如何configuration一个专用的静态媒体HTTP服务器?

现在,越来越多的网站正在使用前端的nginx和后端的Apache(或者另一个web服务器比Apache更好地服务静态媒体)来切换到一个设置,我想知道以下几点: 将静态媒体放在专用服务器上(运行nginx),而不是在Apache前面运行nginx是否合理? 我不是在谈论预算,维护等(我知道运行2个服务器比运行1更昂贵)。 我的意思是: 你将如何完全优化一个专门提供静态文件的系统? 在硬件和软件层面上可以做哪些事情来优化静态文件,这些静态文件在运行Apache的系统上无法完成?

基于URL的Apacheauthentication/ LDAP组

我正在为Apache2 HTTPD进行LDAP身份validation,并想知道是否有可能让Apache根据组进行LDAPvalidation,还取决于提供的URL。 例如,如果用户请求以下内容: http://www.example.com/(组名)/ Apache将请求凭证并检查LDAP目录服务(OpenLDAP),以确保用户属于“<a group name>”组。 本质上,用户应该能够请求任意资源,Apache应该能够获取URL,提取被请求的特定资源,并确保用户属于同一个名称的组。 我找不到任何有关从URL请求中提取信息并处理Apacheconfiguration文件中的信息的相关信息。 有没有人做过类似的事情?

Apache + mod_php比Nginx + PHP-FPM慢4倍

我一直在Drupal 7网站进行基准testing,发现apache的页面执行速度比我创build的Nginx慢四倍。 由于这是页面执行时间,我的理解是,在执行完成之前,不会有其他任何页面资源请求,所以不太可能是由多个请求处理的方式引起的(我还应该提到,这些testing服务器只能被访问我)。 我尝试设置PHP-FPM与Apache一起工作,将其排除为可能的因素,但它只对约2%的页面执行时间产生影响。 每个服务器都运行Ubuntu 11.10,软件来自PPA,安装后只有最less量的configuration更改才能使服务器显示Drupal。 据我所知,这是我应该期待与这种设置相反。 Apache应该有一个优势,因为它不需要呼叫到外部服务,但是我看到的结果是大规模偏向于nginx。 有没有我看到的结果的任何解释? 有人可以提供我如何去确定原因的提示吗?