Articles of apache 2.2

在Red Hat 6.5 64bit上需要32位Apache

我有一个64位的红帽6.5企业服务器。 我有一个第三方包,用于Web服务,它是Apache Web服务器的一个附件。 这个软件包是32位,所以我需要一个32位的Apache。 不知怎的,我应该能够轻松地find一种方法来在红帽服务器上安装这样的服务器,但是我还没有find正确的search关键字集合。 有没有我可以使用的存储库? 有没有人遇到这个问题,可以指出我的解决scheme? 谢谢戴夫

Apache上的Slowloris:mod_reqtimeout + mod_qos是否够用?

我几天前检测到我的服务器正在slowloris攻击下(我在access.log中发现了很多“ – ”408 0“ – ”“ – ”“值)。 我改变了我的configuration,如下所示: 在mod_reqtimeout中: RequestReadTimeout header=5-20,minrate=20 我安装了mod_qos并像这样configuration它: QS_SrvMaxConnPerIP 50 QS_SrvMinDataRate 120 1500 够了吗? 大多数可用的教程只是在configuration文件中保留默认值。 我注意到现在“ – ”408 0“ – ”的值增加了很多。 我认为这很好,因为这意味着更多的连接被检测为恶意的,这意味着它们被closures,会损害服务器。 对? 我能再做点什么吗? 阻止ips? 提前感谢任何反馈!

Apache作为GitLab Omnibus的反向代理

我在CentOS6.5服务器上使用GitLab Omnibus。 gitlab nginx服务器监听6543端口(Apache已经使用80和443)。 我想使用Apache作为反向代理来访问GitLab的地址:gitlab.example.com而不是example.com:6543 所以我添加一个Apache虚拟主机,这里是configuration: <IfModule mod_ssl.c> <VirtualHost *:443> ServerAdmin [email protected] ServerName gitlab.example.com ServerSignature Off CustomLog /var/log/httpd/gitlab_access.log combined ErrorLog /var/log/httpd/gitlab_error.log ErrorLog syslog:local2 <IfModule mod_proxy.c> ProxyVia On ProxyRequests Off ProxyPass / https://example.com:6543/ ProxyPassReverse / https://example.com:6543/ ProxyPreserveHost Off <Proxy *> Options FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Proxy> </IfModule> # SSL Config SSLCertificateFile […]

Apache + Php-FPM + APC:mode_deflate不压缩HTML输出

我准备了一台运行Magento实例的服务器:Apache + Php-FPM + APC 我遇到的问题是,Apache不会压缩Magento PHP脚本的HTML输出。 在我的.htaccess中我有: AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript AddOutputFilterByType DEFLATE application/xml application/xhtml+xml application/rss+xml AddOutputFilterByType DEFLATE application/javascript application/x-javascript AddOutputFilterByType DEFLATE application/x-httpd-php 我也尝试压缩所有: SetOutputFilter DEFLATE 但是我没有运气。 Zlib压缩被禁用: php_flag zlib.output_compression on 我的猜测是,这与Php-FPM或APC有关,但我不确定问题是什么。 为未压缩页面返回的mymetypes是: Content-Type: text/html; charset=UTF-8 有任何想法吗? 更新:问题似乎与PHP处理的任何东西,如果我复制的HTML输出到.html文件,然后获取它,它将被压缩,如果我重命名相同的文件.php并获取它的输出将不会被压缩。 这是标题: [[回复标题HTML文件]] Date Fri, 29 Aug 2014 20:03:13 GMT Content-Encoding gzip Last-Modified Fri, […]

Apache / PHP ldap停止工作。 需要重启apache

我目前有一个设置,用户使用LDAP凭据login网站。 这一切都是内部的,所以我不关心证书。 所以,在我的/etc/openldap/ldap.conf文件中我TLS_REQCERT never 。 在将文件添加到文件之前,我总是收到Error Binding to LDAP: TLS: hostname does not match CN in peer certificate 。 添加后,似乎一切工作正常。 但是现在我发现,经过一段时间,也许几个小时到一天,login将再次失败,我会开始得到这个错误。 如果我重新启动Apache一切正常工作再次一段时间。 然后错误再次popup。 有什么可能导致这种情况继续发生? 该服务器是一个CentOS 6.5。

Apache反向代理Unescapes URL

我在我的DMZ中运行Apache 2.2.15作为反向代理。 我在互联网上提供了一个内部networking上的应用程序供员工通过反向代理使用。 作为这个应用程序的一部分,员工可以看到带有PDF附件的消息。 内部员工(不必通过反向代理)可以下载这些PDF文件。 外部人员不能。 这就是我在应用程序服务器上的Apache日志中看到的内容。 172.20.0.9 – – [04/Dec/2014:08:48:21 +1300] "GET /application/home/getAttachment/MTE7Y3lzdGljIGZpYnJvc2lzLnBkZg%3D%3D HTTP/1.1" 200 88090 10.0.0.2 – – [04/Dec/2014:08:48:27 +1300] "GET /application/home/getAttachment/MTE7Y3lzdGljIGZpYnJvc2lzLnBkZg== HTTP/1.0" 400 – 第一个请求来自成功下载PDF文件的内部用户。 第二个来自DMZ中的反向代理。 请注意,它是如何将URL末尾的“%3D%3D”转义为“==”的。 我正在做的反向代理中有几件事情。 首先如果有人试图去根目录,一个重写规则将它们发送到应用程序目录。 <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^/$ /application/ [NE,R] </IfModule> configuration的其他相关部分是反向代理部分。 <IfModule mod_proxy.c> RequestHeader set Front-End-Https "On" SSLProxyEngine on SetEnv force-proxy-request-1.0 1 SetEnv proxy-nokeepalive […]

Apacheredirect永久不工作

我在我的网站上有两个redirect。 其中之一是工作,其中一个不是。 这里是我的configuration相关的行,编辑,以保护无辜。 <VirtualHost *:80> ServerName notworking.com ServerAlias www.notworking.com Redirect permanent / http://example.com/units/ </VirtualHost> <VirtualHost *:80> ServerName working.com ServerAlias www.working.com Redirect permanent / http://example.com/widgets/ </VirtualHost> 第二个redirect工作正常。 当我访问working.com时,我的日志如下所示: 1.2.3.4 – – [06/Feb/2015:16:08:07 +0000] "GET / HTTP/1.1" 301 241 1.2.3.4 – – [06/Feb/2015:16:08:07 +0000] "GET /widgets/ HTTP/1.1" 200 49257 第一个redirect不起作用。 当我访问notworking.com时,我的日志如下所示: 1.2.3.4 – – [06/Feb/2015:16:08:23 +0000] "GET […]

VirtualHost默认在重新启动时错误部署

我们有一个运行七个域/子域的服务器。 为了尽可能less地尝试,我将包括其中四个。 example.com www.example.com dwf.example.com chris.example.com 服务器在90%的时间内都工作得很好,但偶尔我们会得到更多的请求,数据库服务器也会closures。 这然后最大的apache连接,因为所有的数据库连接正在等待超时。 一切顺利,我们强制重新启动数据库,连接恢复。 但是,这些请求将进入dfw.example.comconfiguration。 该部署没有我们的代码库,这是一个大问题,我不明白为什么发生这种情况。 在这种情况发生的时候,它也一直在进行部署,而我们从来没有任何其他的5。 从我读的文档中,我认为Apache通过httpd.conf文件读取并查找第一个NamedVirtualHost匹配: 现在,当请求到达时,服务器将首先检查是否使用了与NameVirtualHost匹配的IP地址。 如果是,那么它将查看每个具有匹配的IP地址的<VirtualHost>部分,并尝试find一个ServerName或ServerAlias与所请求的主机名相匹配的部分。 如果find一个,那么它使用该服务器的configuration。 如果找不到匹配的虚拟主机,则将使用与IP地址匹配的第一个列出的虚拟主机。 我们正在运行Apache 2.2.15。 我认为与httpd.conf文件相关的部分是: Listen 80 Listen 255.255.255.255:443 … ServerName www.example.com …(这是确切的顺序,www(https / http),dfw,然后所有其他版本) NameVirtualHost www.example.com:80 <VirtualHost www.example.com:80> ServerAdmin [email protected] DocumentRoot /var/www/html/www.example.com ServerName www.example.com DirectoryIndex index.html DirectoryIndex index.php LogLevel notice ErrorLog /var/log/httpd/www.example.com/error.log CustomLog /var/log/httpd/www.example.com/access.log w3c_extended </VirtualHost> NameVirtualHost www.example.com:443 <VirtualHost […]

mod_rewrite之后,服务器上的环境variables不可用,但在本地工作

我正在使用SSI在一个网站上工作,在HTML页面上设置一个variables,然后在mod_rewrite重写之后,该variables将被脚本拾取。 这工作在我的本地设置,但由于某种原因,它不在生产服务器(都是Apache 2.2.22)。 这里是相关的位: perl脚本: my $working = ($ENV{'HTTP_my_var'} || $ENV{'REDIRECT_HTTP_my_var'}) || "NO"; print "Content-type: text/html\n\n"; print "is it working? <b>$working</b>"; .htaccess相关行 RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteCond %{REQUEST_FILENAME}.html -f RewriteRule ^(.*)$ /$1.html [L] RewriteRule ^my_tst$ /cgi-bin/my_tst.cgi [L] HTML文件: <!–#set var="HTTP_my_var" value="YES" –> <!–#include virtual="/cgi-bin/my_tst.cgi" –> <br> <!–#include virtual="/my_tst" –> 这是我的本地机器上的结果: 它在工作吗? 是 它在工作吗? 是 但是在生产服务器上: 它在工作吗? […]

Mac OS X上的PHP和MySQL:拒绝GUI用户访问

这个问题首先发布到堆栈溢出,但因为它也许是一样的服务器问题,我虽然也可以在这里发布它也是。 我刚刚在我的Macbook上安装并configuration了Apache,MySQL,PHP和phpMyAdmin,以便拥有本地开发环境。 但是当我把我的一个项目移到本地服务器后,我从我的一个调用mysql_query()中得到一个奇怪的MySQL错误: 访问拒绝用户'_securityagent'@'localhost'(使用密码:否) 首先,我发送到MySQL的查询是有效的,我甚至通过phpMyAdmin testet完美的结果。 其次,错误消息只发生在这里,而我有至less4个其他的MySQL连接和查询每页。 这个对mysql_query()的调用发生在处理新创build或修改的文章数据的一个非常长的函数的末尾。 这基本上是这样做的: 收集文章forms(标题,内容,date等)的所有数据。 validation收集的数据 连接到数据库 基于validation的文章数据dynamic构buildSQL查询 在closures连接之前将查询发送到数据库 很基本,我知道。 我没有认识到用户名“_securityagent”,所以经过一个快速的search,我遇到了这个和苹果的开发者连接文章谈论一些随机的bug: Mac OS X的安全基础架构通过以特殊用户“_securityagent”运行其GUI代码来解决此问题。 然后,我试着在mysql_connect()调用中使用的所有variables上放一个var_dump(),并且每次都返回正确的值(当然用户名不是“_securityagent”)。 因此,我想知道是否有人有任何想法为什么'securityagent'试图连接到我的数据库 – 当我调用mysql_query()我怎么能保持这个错误发生。 更新:这是我用来连接到数据库的确切代码。 但是有一点必须解释: 连接错误发生在class_1中函数X中对mysql_query()的调用中 class_1使用class_2连接到数据库 class_2用数据库连接variables(host,user,pass,db)读取configuration文件 class_2通过以下函数连接到数据库: var $SYSTEM_DB_HOST = ""; function connect_db() { // Reads the config file include('system_config.php'); if (!($SYSTEM_DB_HOST == "")) { mysql_connect($SYSTEM_DB_HOST, $SYSTEM_DB_USER, $SYSTEM_DB_PASS); @mysql_select_db($SYSTEM_DB); return true; } else […]