Articles of apache 2.2

PHP / Apache POST限制?

我试图编辑我的MediaWiki安装大(200KB左右)的文章,但这样做给我这个错误: 请求的实体太大 请求的资源 /path/to/my/wiki/index.php 不允许POST请求请求数据,或者请求中提供的数据量超过容量限制。 根据Apache文档, LimitRequestBody默认为0(无限制)。 我不认为我接近2048KB的MediaWiki限制。 我无法find/如果PHP限制我。 是什么赋予了? 更新:我的Apache错误日志说: request body exceeds maximum size for SSL buffer 正下方: could not buffer message body to allow SSL renegotiation to proceed 看来可以在这里find一个可能的解决scheme。 但是这需要我重新编译mod_ssl 。 看来在那个bug报告的结尾,他们正在讨论为此添加一个指令,而不是重新编译。 任何人都知道这是否发生? 另外,我是否需要重新编译这个修补程序的mod_ssl ? 如果是这样,我该如何使用我的编译版本而不是Ubuntu的股票?

挂页加载每n个负载

我最近把我的网站移到了新的服务器(Apache 2,PHP5,MySQL5)。 该网站是一个基于Invision的论坛。 每一个post/主题只是挂起。 数据已被写入,因为如果您停止并重新加载,后/线程在那里。 我以为这是一个写作问题,但不是。 数据被写入,但页面加载永远不会完成。 它不会离开数据input的页面。 解决此问题的最佳方法是什么? 我最近做的唯一事情就是减less我的MySQL超时时间,但是我看不到这是一个问题,因为这些值仍然足够大,MySQL日志中没有提到超时。 logging在PHP的错误日志中也没有。 编辑 :我检查了我的服务器状态。 这一切看起来不错,但我有一个怀疑,我打我的ServerLimit,所以我加倍了。 还启用了我的Keepalives。 将密切关注它。 编辑2 :现在已经过了几天,这仍然是发生。 我有更多的信息,但; Apache正在抛出seg错误,但启用核心转储不会产生它们。 我曾尝试在Apache中禁用模块,但它只是停止工作。 我担心它可能实际上是DNS相关的。 如果我在Firefox中观看Live Headers,在这个“挂起”期间绝对没有任何事情发生。 之后,答复很快就回来了。 更新(05/04) :我从源代码build立了最新版本的Apache和PHP,没有运气。 然后我删除了这些,并使用remi回购更新我所有的包到最新的稳定。 Segfaults似乎已经停止,但悬挂继续。 ini的在: www.skylinesaustralia.com/php.ini www.skylinesaustralia.com/my.cnf www.skylinesaustralia.com/httpd.conf 更新 – 解决! – 问题是在MySQL中有一个巨大的查询caching大小。 这是2GB,将其更改为64M分类。

我怎样才能防止Apache暴露用户的密码?

当使用Apache进行基本authentication(特别是通过LDAP,但也使用htpasswd)时,它使REMOTE_USERvariables可用于PHP / Ruby / Python代码 – 这对于将authentication卸载到Web服务器非常有用。 在我们的办公环境中,我们有很多像SSL这样的内部应用程序,都非常安全。 但是:Apache将PHP_AUTH_USER(= REMOTE_USER)和PHP_AUTH_PWvariables公开给PHP中的任何应用程序。 (PHP_AUTH_PW包含用户input的明文密码。)这意味着应用程序可以获取用户名和密码。 据推测,相同的信息可用于Python和Ruby(所有三个目前正在使用; PHP正在被淘汰)。 那么如何防止Apache这样做呢? 一个想法是使用Kerberos协商身份validation(它不公开密码并具有SSO的好处),但是对于某些浏览器(Chrome和某些情况下,Firefox)会自动回退到Basic,从而导致密码再次暴露。

什么是Apache可以处理的虚拟主机的最大数量?

什么是Apache可以在一台机器上处理的虚拟主机的最大数量(我并不是说与负载有关的任何东西,让我们假设它与这个问题无关)。 而且我们只采用Apache而没有像nginx这样的任何代理。 我在问,因为在一个论坛上,有一个人报告说,他的Apache工作不稳定,在一台机器上有400多个站点。 如果你有一个configuration,处理超过400,请告诉我这里。 谢谢。

Apache的虚拟主机configurationwww与非www,重写或sServerAlias?

我们有一个中央的httpd.conf,我们包含各种虚拟主机的confs。 直到今天,我们并没有真正需要“www.subdomain.site.com”域名,只有“subdomain.site.com”。 现在我们做了,所以我想弄清楚这两种方法哪一个更好: [1]。 使用重写: RewriteCond %{HTTP_HOST} ^www.subdomain.site.com RewriteRule ^(.*)$ http://subdomain.site.com$1 [R=301] 要么 [2]。 使用ServerAlais: <VirtualHost 111.22.33.44:80> ServerName subdomain.site.com ServerAlias www.subdomain.site.com Include conf/subdomain.conf </VirtualHost> 我想在Rewrite上有更多的处理,但不确定ServerAlias在这个混合中的performance。 有一个比另一个更好的search引擎优化富? 任何和所有的想法欢迎! 谢谢, KM

apachectl和httpd.worker有什么区别?

我的主机服务Webfaction自动为django / python应用程序安装apache启动脚本。 安装的启动脚本是: #!/bin/bash LD_LIBRARY_PATH=/home/mertnuhoglu/webapps/dj02/apache2/lib /home/mertnuhoglu/webapps/dj02/apache2/bin/httpd.worker -f /home/mertnuhoglu/webapps/dj02/apache2/conf/httpd.conf -k start 这个脚本启动一个httpd.worker实例: 3364 00:03 8950 /home/mertnuhoglu/webapps/dj02/apache2/bin/httpd.worker 最近,我按照自定义应用程序安装教程 。 在本教程中,启动脚本被定义为: #!/bin/bash /home/rocketmonkeys/webapps/django/apache2/bin/apachectl start 这个脚本启动一个httpd -k start : 0.0 1620 17462 /home/mertnuhoglu/webapps/django/apache2/bin/httpd -k start 我想问三件事情: 这两种启动Apache服务器的方式有什么区别? 在第一个脚本中,哪个可执行文件( httpd.worker或httpd.conf或其他)运行? 为什么第二个例子中的httpd实例有-k start参数? 这是由于apachectl ?

像PHP调用的其他用户一样运行shell命令

我有一个PHP脚本被HTTP调用,而不是命令行脚本。 该脚本应该以当前webserver用户www-data的其他用户身份调用shell命令。 例: <?php echo shell_exec('sudo -u myusername -S /usr/bin/whoami'); // returns nothing 🙁 echo shell_exec('whoami'); // returns www-data 当直接在命令行上调用这2个命令sudo -u myusername -S /usr/bin/whoami和whoami时,它们会返回 myusername www-data 对此也没有结果: <?php echo shell_exec('echo "mypass" | sudo -u myusername -S /usr/bin/whoami'); 对我来说,似乎sudo不能和PHP shell_exec()一起工作。

Apache MaxClients问题

在我的错误日志中,我看到: server reached MaxClients setting, consider raising the MaxClients setting 我的MaxClients设置是150.但是,当我计算什么似乎是一个最佳的MaxClients设置我想出: Mem used by 1 Apache process = 16 Mem available to Apache = 197 MaxClients = 12 (197/16) 所以,我应该敲MaxClients的方式下降到12,因为我的计算表明,是所有的RAM我可用,或者我应该提高限制的错误日志暗示(或者我的计算是毫无价值的,因为我误解的东西)?

用404而不是403来禁用目录列表

我已经禁用目录列表像这样… Options -Indexes 当我尝试访问这样的目录: www.example.com/secret/ 我得到了一个403禁止回应。 但是,我想要一个404 Not Found响应,所以黑客无法轻易猜测我的目录结构。 我该怎么做?

当唯一的行是“全部允许”的时候,为什么.htaccess文件会导致403 Forbidden?

我正在运行一个服务器: Apache/2.2.8 (Ubuntu) mod_ssl/2.2.8 OpenSSL/0.9.8g 没有.htaccess文件,每个人都可以访问网页内容。 但是,我添加了一个.htaccess文件与以下内容: Allow from all …每个人都有403个Forbidden错误! .htaccess上的权限是640 。 不应该Allow from all没有.htaccess文件相同? 我做错了什么? 编辑:与以下.htaccess文件相同的行为: Order Allow,Deny Allow from all 再次,没有.htaccess文件加载没有问题。