Articles of apache 2.2

Apache:添加标题到一个特定的url?

我只是基于这个Apache文档为我的根urlconfiguration了一些内容协商,似乎工作得很好。 由于我的网站还设置了一个语言cookie,我在我的虚拟主机中testing了以下内容(在文档中也提到过) SetEnvIf Cookie "lang=([^;]+)" prefer-language=$1 Header append Vary cookie 但是,因为我只有一个带有协商内容的URL,所以我不想为所有请求发送一个Vary:Cookie。 它会阻止所有的caching是有效的,因为sessionid也存储在一个cookie中(纠正我,如果我错了)。 所以我的问题是我怎么只能追加这个特定的urlVary头。 我已经尝试在“位置目录”或“文件”部分中指定指令,但似乎没有任何效果。 <Location "/"> Header append Vary cookie </Location> 不同的标题被发送给/但也为/eng/index.html和所有的请求 <Directory /my/htdocs> Header append Vary cookie </Directory> 不同的标题不会被发送,也不会被发送任何请求 <Files "/index.html"> Header append Vary cookie </Files> 不同的标题不会被发送,也不会被发送任何请求

Apache服务器和目标服务器之间的Apache代理HTTP CONNECT方法握手失败

Apache / 2.2.25(Win32)mod_ssl / 2.2.25 OpenSSL / 0.9.8y 我正在尝试使用Apache的HTTP CONNECT方法。 我正在testing它与两个不同的目标服务器。 它与一台服务器正常工作,但与另一台服务器失败。 以下是Wireshark跟踪,用于Apache服务器与失败的目标服务器之间的连接。 它看起来像Apache服务器发送警报之前,它使目标服务器有机会发送服务器你好。 为什么发生这种情况? Apache – >目标TCP 57070> https [SYN] Seq = 0 Win = 8192 Len = 0 MSS = 1460 WS = 256 SACK_PERM = 1 目的地 – > Apache TCP https> 57070 [SYN,ACK] Seq = 0 Ack = 1 Win = […]

是否可以将Alias和AliasMatch与Apache混合使用

我有一个通用的别名匹配,如: AliasMatch ^/plugins/([^/]*)/(.*) /usr/share/tuleap/plugins/$1/www/$2 <DirectoryMatch "/usr/share/tuleap/plugins/([^/]*)/www/"> … </DirectoryMatch> 我想为目录插件添加一个特定的configuration。 我试着有一个别名第一,但它不能按预期工作: Alias /plugins/git /usr/share/tuleap/plugins/git/www <Directory /usr/share/tuleap/plugins/git/www> … </Directory> AliasMatch ^/plugins/([^/]*)/(.*) /usr/share/tuleap/plugins/$1/www/$2 <DirectoryMatch "/usr/share/tuleap/plugins/([^/]*)/www/"> … </DirectoryMatch> 为“git”设置的特定configuration似乎被忽略,而不是通用configuration。 有没有解决scheme,使其工作?

Apache2的htaccess问题

我目前遇到了让Apache2识别.htaccess文件的问题。 目前,我正在本机上运行服务器进行testing。 我可以让我的索引页加载没有问题,但任何时候我会导航到匹配.htaccess文件模式的页面,我得到一个404错误。 这里是我的default.conf文件和.htaccess文件的示例。 default.conf NameVirtualHost * <VirtualHost *> ServerAdmin webmaster@localhost DocumentRoot /var/www/ <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all Require all granted </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog […]

基于User-Agent的服务器级别阻止,拒绝或redirect?

我们最近开始遇到networking刮板/ DDoS服务的80个问题,因为他们滥用爬取的做法,每周都会把我们的服务器closures几次。 最初,我们只是在受影响的网站的.htaccess文件的底部放置以下内容: <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_USER_AGENT} ^.*80legs RewriteRule .* – [F,L] </IfModule> 但是,我们只是需要在所有服务器的服务器级别阻止它们。 根据Apache文档,这个configuration是有效的放置在服务器configuration部分,又名httpd.conf ,但这样做没有效果。 在启用了虚拟主机的Apache服务器上,是否有一种特殊的方法可以阻止/拒绝/redirect基于用户代理的请求? 注意:在防火墙级别是不可能的,因为: 80legs使用本质上是一个select在僵尸networking爬行页面。 他们最后的“事件”涉及来自全球约900个不同networking/ IP块的5250个独特IP。 目前我们还没有能力进行深度包检测。

端口80和443的虚拟主机无法正常工作

我无法弄清楚为什么我无法连接到我的VPS。 httpd.conf:我补充说: 听80 听443 NameVirtualHost *:80 NameVirtualHost *:443 <VirtualHost *:80> SSLE引擎closures ServerAdmin [email protected] DocumentRoot somepath ServerName somedomain 错误日志 CustomLog一些常见的东西 </虚拟主机> <VirtualHost *:443> ServerAdmin [email protected] DocumentRoot somepath ServerName somedomain 错误日志 CustomLog一些常见的东西 SSLEngine上 SSLProtocol -all + SSLv2 SSLCipherSuite SSLv2:+ HIGH:+ MEDIUM:+ LOW:+ EXP SSLCertificateFile的东西 SSLCertificateKeyFile的东西 SSLCertificateChainFile的东西 SSLCertificateChainFile的东西 </虚拟主机> mod_ssl已安装 似乎没有语法错误: / usr / sbin / httpd -t […]

apache mod_rewrite子规则和宁静结构

我试图设置几个重写规则,允许一个宁静的url结构存在,但只在一个特定的子域。 几个子域名已经指向共享的代码库。 我也有一个现有的重写,以使用PHP smarty,它已经捕捉了一切。 所有子域名,包括宁静的域名,都需要redirect到最后一步。 最后,为了方便起见,我想尽可能将子域放入一个查询stringvariables中,以避免试图稍后以编程方式提取它。 我是mod_rewrite的新手,并且难以让所有这些工作在一起…这是我迄今为止的混合尝试,这并不完全合作。 # copy subdomain to variable. # ideally though, dev.subdomain.domain.com would only copy "subdomain", not "dev.subdomain". # this should work for all subdomain, and keep going. RewriteCond %{HTTP_HOST} (.+).domain.com [NC] RewriteRule / /$1?subdomain=%1 [QSA] # restful api, only for restful.domain.com. how to apply to all rules? RewriteCond %{HTTP_HOST} restful.domain.com […]

Puppetlabs Apache模块:Debian PHP-FPM FastCGI APC

我目前正在Debian Wheezy上设置一个新的Web服务器,并使用伪造的以下模块: http://forge.puppetlabs.com/puppetlabs/apache http://forge.puppetlabs.com/example42/php PHP模块工作正常,并安装了必要的文件。 我有两个问题与Apache模块 我的configuration需要mod_event。 Debian推荐的方式通常是运行 a2enmod操作 我试图添加include apache::mod::actions到我的清单,但这只是返回一个错误。 尽pipepuppet模块支持mod_actions,但是这似乎只适用于RHEL。 我需要一个Apache的php-fpm.conf,我将如何做到这一点与这个模块? http://www.queryadmin.com/506/apache2-php5-fpm-fastcgi-apc-debian-wheezy/ 我希望你能给我提示如何解决这个问题。 现在我只是手工添加它,但我真的想在傀儡configuration。 谢谢

我可以从conf.d文件中更改Apache CustomLogconfiguration行吗?

我的Apache 2.2 httpd.conf文件包含以下行: CustomLog logs/access_log common 我想改为使用: CustomLog logs/access_log "a different log format that I prefer" 但我不能直接对httpd.conf进行更改:我使用conf.d/目录中的文件进行所有configuration更改。 当然,我试过添加 CustomLog logs/access_log combined 到一个名为conf.d/logging.conf的文件,但是除了第一个文件之外,这个文件会被运行,每次访问会产生2个日志行! 有没有办法取消第一个,只使用我的新的? 谢谢

设置基于HOST头的保释代理

我们在迁移阶段build立了一个代理,看到人们试图滥用它。 它被正确configuration并只转发到我们的应用程序服务器,但是这些testing向我们的主服务器收费 想法是使用代理来释放主机头中包含“http://”的请求以减less我们的应用程序服务器负载。 我加了两条第一线来实施保释。 RewriteCond %{HTTP_HOST} http://.* [NC] RewriteRule .* / [F,L] ProxyPass / http://xx.xxx.xxx.xx/ ProxyPreserveHost on 但是我没有想到的那样。 代理仍然工作,而不是返回401。 另一种方法是做一个 RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI} [P] 但是我不知道它是否会做到这一点。