Articles of apache 2.2

作为代理的Apache生成失败。

我们使用Apache代理来使我们的应用程序服务器能够通过互联网访问特定的网站。 设置如下: application servers –> apache proxy –> Internet website 某些请求失败,并在应用程序服务器日志中出现以下错误: <head> <title>502 Proxy Error</title> </head><body> <h1>Proxy Error</h1> <p>The proxy server received an invalid response from an upstream server.<br /> The proxy server could not handle the request <em><a href="/link">POST nbsp;/link</a></em>.<p> Reason: <strong>Error reading from remote server</strong></p></p> </body> 以及apache error.log文件中的下面的debugging日志: [Mon May 20 09:57:54 2013] […]

我可以修改重写到不同的文档根目录吗?

给定一个URL: http://example.com/some-file.zip example.com的文档根目录是/var/www/example.com/ 我想要apache: 1) If /var/www/example.com/some-file.zip exists, serve it. 2) If /var/www/example.com/some-file.zip doesn't exist, check /var/www/shared/some-file.zip 3) If /var/www/shared/some-file.zip doesn't exist, send a 404 这可能吗? 我查看了Alias指令,但是我认为这将需要我在URI中指定资源的位置。

我可以使用mod_php工人MPM吗?

在阅读这个答案之后 ,我决定把我的服务器上的httpd的MPM更改为worker。 但是在编辑/etc/sysconfig/httpd ,我注意到这个评论: # The default processing model (MPM) is the process-based # 'prefork' model. A thread-based model, 'worker', is also # available, but does not work with some modules (such as PHP). # The service must be stopped before changing this variable. # #HTTPD=/usr/sbin/httpd.worker 我可能会解释错误,但这不是告诉我,工人将不能使用mod_php吗? 因为那是我目前使用的。 服务器运行CentOS 6.4和Apache 2.2。

Apache使用mod_jk在apache代理服务器上caching静态内容(jpg,png,js,…)

我使用apache作为前端web服务器,负载均衡tomcat web服务器的3个节点之间的用户。 我使用mod_jk来做到这一点。 我想要的是如何在此演示服务器上configurationapache,以便caching具有特定扩展名的所有文件(如.js,.png,.jpg)? mod_cache? 非常感谢。 编辑:我不能改变任何东西在tomcat的Web服务器上。 所以,所有的魔法必须发生在Apache的演示文稿负载平衡器服务器…

微软交换自动发现404错误

在Linuxnetworking服务器上处理Exchange自动发现请求的最佳方法是什么? 目前它查找example.com/autodiscover/autodiscover.xml。 由于这个页面不存在,所以会抛出一个404错误。我想把404s保持在最低限度,这样它们就不会出现在日志中。 永久redirect是否足够? 这是我们IT部门正在实施的一项新服务,我想创build最less的Web服务器负载。 我甚至不知道为什么它必须达到顶级域名,并涉及Web服务器。 但是,从我读到的这似乎是如何devise工作。 任何帮助或见解,赞赏。

如何限制连接速度

我在CentOS 6.4上使用Plesk v11.5.30,虽然这不一定需要通过plesk来完成。 我正在寻求限制到特定网站的连接速度。 然而,Plesk唯一的select是“最大带宽使用率”和“限制连接数”。 最大带宽使用量是域使用的总带宽,而连接数是连接数(显然)。 我想要做的是将速度限制在200kb / s,而不pipe有多less人正在访问该域。 即使只有一个人正在访问,我不希望他们能够使用所有的带宽,我希望他们被限制在200kb / s 有没有一种方法可以将所有单个连接限制在200kb / s以下,以至于没有人可以使用超过200kb / s的速度,但是当然如果stream量很高,它们可能会less于200kb / s? 为了避免这是plesk特定的,这是我的conf中是什么,我很高兴手动修改它,如果有一些其他的参数,我可以使用: <IfModule mod_bw.c> BandwidthModule On ForceBandWidthModule On Bandwidth all "0" MaxConnection all "0" BandWidthError 510 </IfModule>

mod_jk状态页面不工作

我正在用Apache服务器在Tomcat 7中进行群集。 它也工作得很好。 不过,我有以下问题: 1)我正在尝试监视mod_jk状态页面; 但它是给404错误。 2)在Log中显示以下错误 – [Tue Dec 17 13:16:51.019 2013] [2236:140599476504544] [error] init_jk::mod_jk.c (3348): Initializing shm:/etc/httpd/logs/mod_jk.shm.2236 errno=13. Load balancing workers will not function properly. [Tue Dec 17 13:16:51.019 2013] [2236:140599476504544] [info] init_jk::mod_jk.c (3365): mod_jk/1.2.37 initialized [Tue Dec 17 13:16:51.041 2013] [2237:140599476504544] [error] init_jk::mod_jk.c (3348): Initializing shm:/etc/httpd/logs/mod_jk.shm.2237 errno=13. Load balancing workers will not […]

Apache SetEnvIf无法匹配Request_Uri

简单的条件,永远不会匹配和设置variables: SetEnvIf Request_URI "^/path/to/something*" access_granted 使用PHP检查URI是给出正确的string,但是从不设置variables。 echo getenv('Request_URI'); –> /path/to/something echo getenv('access_granted'); –> <<empty>> 这样简单,但仍然总是失败。 更新:有趣的一点是,我可以通过string来实现access_granted = 1: SetEnvIf Request_URI "^/path/*" access_granted /path也RewriteBase – 也许它是连接不知何故,我不知道

如何在没有虚拟主机的情况下将SSL / 443添加到Apache服务器?

我在CentOS上安装了一个apache服务器。 我正在尝试添加SSL。 我能够创build证书和密钥,然后更新/etc/httpd/conf.d/ssl.conf以进行以下configuration: /etc/httpd/conf.d/ssl.conf #Where I put my cert SSLCertificateFile /etc/pki/tls/certs/ca.crt #where I put my key SSLCertificateKeyFile /etc/pki/tls/private/ca.key 然后我更新了/etc/httpd/conf/httpd.conf : /etc/httpd/conf/httpd.conf中 Listen 443 SSLEngine on SSLCertificateFile /etc/pki/tls/certs/ca.crt SSLCertificateKeyFile /etc/pki/tls/private/ca.key 然后我跑service httpd restart ,我得到的错误: Stopping httpd: [OK] Starting httpd: (98)Address already in use: make_sock: could not bind to address [::]:443 [OK] 我需要做什么来启用SSL?

Apache错误和访问日志丢失,可能是什么原因,如何重新创build它们?

我已经有了一个任务来理解为什么运行apache 2.2.3的2个CentOS web服务器在特定的场合下经历了非常高的负载。 我检查的第一件事是/var/log/messages但后来我意识到rsyslog由于某种原因被closures,所以我开始使用chkconfig打开它。 然后,我想检查Apache错误和访问日志,所以我浏览到/var/log/httpd但发现文件夹是空的。 我检查了/etc/httpd/conf/httpd.conf ,看到这些行: ErrorLog logs/error_log CustomLog logs/access_log combined 据我所知,它指的是/var/log/httpd/但正如之前所说的那个文件夹是空的。 在写这个问题时,我已经在服务器上查找了httpd版本,运行httpd -v ,这就是我得到的回应: [root@domU-IP httpd]# httpd -v Server version: Apache/2.2.3 Server built: May 4 2011 06:51:15 Unable to open logs 我的问题是: 1. What could cause the logs to disappear? (It is possible they were never created in the first place) 2. How […]