Articles of apache 2.2

Apache – 限制对特定端口的访问

我只需要限制访问一个特定的端口,在我的Apache服务器(我希望只有SSL端口(443)在我的networking服务器上使用)。 因此,例如,如果用户尝试连接到标准端口80,他会得到一个访问被拒绝的消息。 我search了一个可能的解决scheme,但我无法find好的configuration示例。 如果你需要更多的信息,请不要犹豫。

调整Apache对于中等规模的网站

我有麻烦与我的Apacheconfiguration。 现在nginx作为一个反向代理坐在前面的Apache,提供静态资产,然后传递PHP请求到Apache。 Apache正在使用mod_php。 我们确实有用户,但网站正在慢慢增长,所以我知道一个事实Mysql不是这里的罪魁祸首。 该网站不是数据库重,它是Web服务重。 该网站正在慢慢增长,我们将在这个月内处理大约43万个独立用户,每次可以有80-230个人在其上,但每秒请求数不会超过8个。 Apache似乎持有内存,大约一个星期后导致服务器崩溃,并需要重新启动。 服务器是一个linode 8核心,8 GB的Ubuntu 12.04机器。 这是当前configuration我们现在使用Prefork模块: Timeout 15 KeepAlive Off MaxKeepAliveRequests 1000 KeepAliveTimeout 5 <IfModule mpm_prefork_module> StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 256 MaxRequestsPerChild 500 </IfModule> HostnameLookups Off 如果您需要更多信息,请告诉我。 我们会从prefork模块中获得更less的内存使用和更好的性能吗?

httpd:多个IP地址,转到相同的位置

我已经看了大约30分钟了,现在还不知道有什么简单的方法。 我想要做的是允许Apache监听所有的接口(这应该已经configuration好了,因为我已经在httpd.conf定义了Listen 80 ),然后无论请求什么IP,都有任何请求到/var/www/html/ 。 我知道的唯一方法是configuration基于IP的虚拟主机。 还有另一种方式,我只是俯瞰?

禁用自定义php.ini

我想在我的共享主机中禁用自定义php.ini。 我不想让我的客户使用它。 我可以使用allowverride阻止htaccess的使用,但我不能看到阻止php.ini!

`httpd -k start`和`service httpd start`之间的区别?

通常情况下,我使用service httpd restart或者service httpd stop然后service httpd start ,在我的开发“CentOS 6.5(Final)”框中service httpd restart service httpd start如果我感觉偏执。 然而,经过几周的search,调整,更新和重新编译“破”的PHP模块(SpiderMonkey)无济于事,我有一个奇怪的启动apache使用httpd -k start命令 – 模块突然出现! 有什么不同? 我能纠正service httpd start|stop|restart行为吗? 注 :在我最初尝试纠正这个问题,我从webstatic回购安装php55w 。 我假设 ,如果我之前有过这样的想法,那么解决scheme(使用httpd -k重新启动)就可以解决问题,因为这就是apache正常情况下在生产环境(模块工作的地方 )重新启动的方式。

如何根据源IPredirect到https?

我有一个运行apache访问的网站 内部(rfc1918地址空间)作为http://hostname或http://hostname.local 外部(公共地址空间)为https://example.org 。 当内部用户从10.0.1.0/24地址空间访问http://hostname/*或http://hostname.local/*上的任何页面时,如何redirect访问,以便将它们发送到https://hostname.example.org上的相关页面https://hostname.example.org 警告我有两个子网10.0.1.0/24,我想要做的https和10.0.2.0/24,我不想做 HTT的时刻 我现在所拥有的是 RewriteEngine On RewriteBase / RewriteCond %{REMOTE_HOST} 10\.0\.1 RewriteRule .* https://hostname.example.org/ [R=301,L] 但我不知道如何做到这一点,所以如果用户转到http://hostname[.local]/test ,用户被发送到https://hostname.example.org/test

哪些设置可以改变,以降低Apache的CPU使用率,并使用更多的内存?

在我们的CentOS 6服务器上,我们现在有很多的CPU过载,而我们的RAM几乎没有被使用。 KeepAlive设置为“开”,因为我们在您的网站上有一些AJAX元素,并提供诸如图片等许多文件。 你有一些推荐的设置,我减less了Apache的CPU负载? 就像说的那样,我们在这个服务器上有很多可用的RAM,但是CPU的能力很弱。

Apache HTTPS从旧域redirect到新的HTTPS域

我曾经有一个曾经有一个SSL证书的域,它仍然有。 但是我已经更改了域名,并且我还为该新域名创build了一个新的SSL证书。 我仍然有用户通过https://shabbasheep.myolddomain.com访问该网站,它给了我This is probably not the site that you are looking for! 但是,当他们通过shabbasheep.myolddomain.com访问该网站时,它将它们正确地redirect到shabbasheep.mynewdomain.info 这里是我的apache条目的样子,从这里得到了一个想法 <VirtualHost *:80> ServerName shabbasheep.myolddomain.com RewriteEngine On RewriteCond %{HTTP_HOST} shabbasheep.myolddomain.com$ RewriteRule ^(/(.*))?$ https://shabbasheep.mynewdomain.info$1 [L,NC,R=301] </VirtualHost> 我的SSL <VirtualHost *:443> ServerName shabbasheep.mynewdomain.info ServerAlias www.mynewdomain.info RewriteEngine On RewriteCond %{HTTP_HOST} shabbasheep.myolddomain.com$ RewriteRule ^(/(.*))?$ https://shabbasheep.mynewdomain.info$1 [L,NC,R=301] SSLEngine on SSLCertificateFile "mypathto.crt" SSLCertificateKeyFile "mypathto.pem" SSLCACertificateFile "mypathto.crt" … … […]

为什么这个重写规则要求*。*

我想redirect任何图像的请求,这些图像的文件名以string“myimage_”开头,到另一台服务器上的子目录。 我想了解为什么以下规则不适用于我的用例。 RewriteRule ^img/app/(gi_*)$ http://images.mydomain.com/targetdir/$1 [R=301,L] 但是这个呢: RewriteRule ^img/app/(myimage_*.*)$ http://images.mydomain.com/targetdir/$1 [R=301,L]

在全局服务器configuration中使用mod_rewrite规则

问题 我试图在Apache的全局服务器configuration中制作一个mod_rewrite规则,并使其对所有虚拟主机生效。 该文件肯定表明这是完全没问题。 然而,我不能为我的生活得到任何实际上重写。 即使使用如下简单麻烦的configuration: LoadModule rewrite_module modules/mod_rewrite.so RewriteEngine On RewriteRule .* https://www.google.com 但是,如果我将上面的代码移到其中一个虚拟服务器上,它就可以正常工作。 (对于那个域名)但是我想把这个input到服务器configuration中,并且让它对每个托pipe网站都有效。 这实际上是可能的吗? 我错过了一些细节? 除此之外,是否有一个很好的方法来排查可能出现的问题? 背景: 我试图做一个503维护页面在系统中断期间使用。 目前,我通过mod_alias和RedirectMatch规则来做到这一点。 RedirectMatch 503 ^((?!^(/error/503_error.html)|(/images/503_error.jpg)$).)*$在服务器configuration(httpd.conf)中生活得很好,适用于所有虚拟主机启用时。 我正在寻找replace这个mod_rewrite,所以我可以豁免一些内部的IPredirect。 从本质上说,系统可以在内部进行testing,而不会使其他人都可以使用。 目前运行完整的最新的RHEL 5.10与股票Apache 2.2.3。