Articles of apache 2.2

htaccess不在服务器中redirect

我有一个.htaccess文件从URL中删除request.php问题。 我的htaccess文件是 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # deal with php5-cgi first <IfModule mod_fcgid.c> RewriteRule ^(.*)$ request.php?/$1 [QSA,L] </IfModule> <IfModule !mod_fcgid.c> # for normal Apache installations <IfModule mod_php5.c> RewriteRule ^(.*)$ request.php/$1 [L] </IfModule> # for Apache FGCI installations <IfModule !mod_php5.c> RewriteRule ^(.*)$ request.php?/$1 [QSA,L] </IfModule> </IfModule> </IfModule> htaccess文件(和所有文件)位于localhost / firstDirectory […]

Apache作为dynamicIP的代理fowarder

我正在寻找networking,但我不知道如何去做我正在寻找的东西。 所以我正在寻找的是一个代理,它将根据我已经放在url(GET)的IP地址前进HTTP查询。 所以,例如: 我请求: http://host/query/IP_A它应该做的是:ME => GET HTTP myhost / query / IP_A => GET IP_A ===> GET IP查询到IP_A并返回给发件人! 我一直在阅读proxypass,reverseproxy,proxymatch和mod_rewrite …但我不明白为什么它不工作! 而我没有日志….这是不是很酷,当debugging时间来了! 🙁 这是我的实际configuration: <VirtualHost *:80> ServerName myServer DocumentRoot /home/me/www/htdocs # RewriteCond ^.*/query/(.*) # RewriteRule (.*) http://$1 [P] ProxyPassMatch ^.*/query/(.*) http://$1 ErrorLog logs/me-error_log CustomLog logs/me-access_log debug </VirtualHost> 这是一个静态工作的例子: ProxyPass / http://IP_A ProxyPassReverse / http://IP_A 所以,当我访问networking服务器,它直接到IP,并返回我的HTTP响应。 […]

使用mod_status在负载平衡apache机器上设置平衡器pipe理器

我正在设置一个运行Apache的Centos机器,以便在两个应用程序Web服务器之间进行负载平衡。 通常我会用F5(或其他硬件LB)来做这些事情,但是客户不想花费更多的钱,所以我把这些与虚拟机结合在一起。 我已经得到它在两台机器之间进行定期循环的工作,但是我只需要第二台服务器进行故障转移。 看到我的虚拟主机在下面: <VirtualHost *:80> Options +FollowSymLinks Include conf/virtualhosts.conf RewriteEngine on RewriteLogLevel 9 RewriteLog /var/log/httpd/rewrite_log RewriteRule ^/?h/(\.[0-9]+)/(string/.*)$ balancer://mycluster/$2?h=$1 [P,QSA] Header add Set-Cookie "h=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_WORKER_ROUTE <Proxy balancer://mycluster/> Order deny,allow Allow from all BalancerMember http://server1:8080 route=0 BalancerMember http://server2:8080 route=1 status=+H </Proxy> ProxyPreserveHost on ProxyPass / balancer://mycluster/ stickysession=h nofailover=On ProxyPassReverse / balancer://mycluster/ ProxyPass /balancer-manager ! <Location […]

Nginx的PHP一直比Apache 2.2慢

注:我问这首先在StackOverflow并发送到这里。 我希望重复是可以的。 在使用Ubuntu 13.04上完全库存的软件包比较Apache 2.2和Nginx 1.2.6的负载testing中,我发现Nginx PHP请求的性能比Apache PHP的要低。 如果可能的话,我正在寻找指导,让我们的Nginx性能超过Apache的性能 。 Apache的设置相当标准,但是Nginx的设置是相当的定制的; 它们被列在基准结果之下 。 我使用名为Siege v3.0.2的基准testing工具( http://www.joedog.org/siege-home/ )为单个并发用户(c1),10个并发用户(c10)和100个并发用户( C100); 结果如下: Apache结果: Date & Time, Trans, Elap Time, Data Trans, Resp Time, Trans Rate, Throughput, Concurrent, OKAY, Failed **** c1 Apache Static **** 2013-08-01 00:54:12, 5982, 59.23, 338, 0.01, 101.00, 5.71, 1.00, 5982, 0 **** c1 Apache […]

Apach AuthLDAPNURL能指向树的根吗?

我有一个服务器,我需要使用Apaches AuthLDAPNURL值,但我无法启动任何特定的O,OU或DC。 无论出于何种原因,这棵树上的每个人都有19个组织(O)对象,挂在树根上。 不是我在LDAP树devise中的select,但也是如此。 格式应该是: AuthLDAPDNURL "ldaps://myserver.com:636/o=someO???(objectClass=user)" 在之后:636 /是开始search的基准DN。 我可以保留空白,并请求树的根目录中的子树search如下: AuthLDAPDNURL "ldaps://myServer.com:636/??sub?(objectClass=user)"

在fcgi看到请求之前使mod_rewrite规则进行处理

有没有办法让我的.htaccess文件中的mod_rewrite规则在fcgi后面的PHP看到请求之前生效? 我有一个电子邮件validation链接,我想从根目录redirect到login页面,然后PHP在数据库中将其标记为已确认。 这些是我在.htaccess中的规则,它们工作,但PHP在重写规则生效之前看到请求。 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{QUERY_STRING} activation_key= RewriteRule ^$ /login [R,L] RewriteBase / RewriteRule ^index\.php$ – [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> 当PHP看到包含activation_key查询string的请求时,会将用户标记为已激活。 如果用户已经激活,页面将显示“未知的validation链接”错误。 使用这些重写规则,请求会redirect到/login页面并显示错误,表明 – 我认为 – PHP已经看到了请求。 这是mod_fastcgiconfiguration: <IfModule mod_fastcgi.c> DirectoryIndex index.html index.shtml index.cgi index.php AddHandler php5-fcgi .php Action php5-fcgi /php5-fcgi Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi […]

需要删除创build的头中不需要的前缀

我试图生成特定的头来模仿一个服务提供者。 但是,我不断得到HTTP_前缀添加到我的标题。 configuration文件: <IfModule headers_module> RequestHeader set ntPrincipal "abcdef" </IfModule> 输出在PHP中, [HTTP_NTPRINCIPAL] => abcdef 所需的标题将需要是: [NTPRINCIPAL] => abcdef 我已经尝试了以下不起作用(我根本看不到标题): <IfModule headers_module> Header set ntPrincipal "abcdef" </IfModule> 更新#1 我试图模仿的服务提供商/环境是使用Shibboleth SP的Apache。 更新#2 这个本地副本运行在Windows 7上的WAMP。我只是做了以下,他们似乎正常显示: var_dump(getallheaders()); 输出: 'ntPrincipal' => string 'abcdef' (length=6) 提示在这里find 。 要做到这一点,对我们来说将是反作用的。 我的开发/testing/生产环境工作正常,Shibboleth正确地提供这些头文件,我看不到我怎么不能在我的configuration文件中指定它们,让它们看起来像是由Shibboleth服务的。

PHP文件被未知的实体caching

我在我的服务器上遇到了一个奇怪的caching问题,我正在处理的项目此时没有启用任何caching,但是它自己安装了APC的服务器(默认情况下设置为caching所有内容,现在禁用)。 问题是,我的旧代码仍在运行,我不知道如何获得修改的代码来触发。 我试图完全删除文件,这使得我的项目错误与“丢失的文件”,因为它应该,但一旦我上传我的文件(新版本),它开始再次提供旧版本的文件。 我上传了一个带有apc_clear_cache();的唯一标签的文件apc_clear_cache(); 和apc_clear_cache( 'opcode' ); 但这似乎没有帮助。 我也已经注意到APC加载PHP,但它仍旧服务于旧文件,所以我想知道是否有潜在的东西导致这种积极的caching。 Apache2,PHP,APC等都是使用Debian Wheezy上的Aptitude加载的 PHP 5.4.4-14 + deb7u3(在mod_php下运行)Apache 2.2.22 在每个configuration更改和禁用APC之间,我做了一个完整的Apache重启。 我已经检查了apache2模块列表,没有caching模块加载,也没有服务,如清漆等运行。 更新 做了一些额外的testing,在输出<?php标签之前添加了一些html输出,所以php标签之外的内容似乎没有被caching。 include_once()包含未更新的文件,禁用APC似乎对正在被错误地服务的文件没有任何影响。 问题是尝试在表单提交后使用HTML2PDF生成.pdf文件 PHP Fatal error: Uncaught ERROR File : /lib/html2pdf/html2pdf.class.php Line : 1319, Impossible to load the image 'logo.png' thrown in /lib/html2pdf/html2pdf.class.php on line 1319 新版本的文件使用logo.jpg

阻止来自开发服务器和静态资产域的僵尸/蜘蛛

我们运行apache(在windows上)和NGINX(在CentOS上)开发服务器。 我有问题,谷歌一些如何不断掌握发展地址和索引他们(可以从Chrome地址栏?)有没有办法阻止所有stream量从机器人/蜘蛛在服务器级别之前,有在每个网站诉诸个人robots.txt文件,或密码只能访问? 一个相关的问题是在现场环境(CentOS上的NGINX),我们使用静态资产域服务图像和JS等,再次,谷歌已经在其search结果内索引,有没有办法来防止这种情况?

Apache2:安装一个模块

我正在尝试安装mod_xsendfile。 我做了: apxs2 -cia mod_xsendfile.c 错误: apxs:Error: Activation failed for custom /etc/apache2/httpd.conf file.. apxs:Error: At least one `LoadModule' directive already has to exist.. 文件/etc/apache2/httpd.conf是空的。 但是,/ etc / apache2 / mods-available和mods-enabled /里面有很多模块configuration。 我必须添加一个虚拟元素到httpd.conf? 还是有不同的解决scheme?