Questions tagged «apache-2.2»

Apache HTTP Server的2.2版。在询问有关虚拟主机的问题时,请包括以下命令的输出:“ apache2ctl -S”(或“ httpd -S”,具体取决于您的操作系统)


1
创建虚拟主机并将其转发子域
苏大师 我有一个简单的.htaccess文件,在该文件中,我的Webapp只将非www重定向到www。现在我要做的是 创建一个新的虚拟主机,例如http://subdomain.mydomain.tld 为任何人进入该子域创建一个重定向到我的应用程序上的文件夹,例如app / webroot / subdomain 我当前的.htaccess看起来像这样 <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_HOST} !^www\.mydomain\.tld [NC] RewriteRule ^(.*)$ http://www.mydomain.tld/$1 [R=301.L] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ app/webroot/$1 [QSA,L] </IfModule> 我将如何处理?我可以在.htaccess文件中完成所有这些操作,还是需要与GoDaddy混淆?如果可以的话,我宁愿不在应用程序中执行此操作。 我正在运行Ubuntu 10.04 + Apache 2.2.14-5 谢谢

1
IE9和Apache SSL nokeepalive设置
目前,我正在将Apache 2.2.3和CentOS 5.4用于我的PHP应用程序(PHP在5.3.7上运行),并且该应用程序在HTTPS上运行并且具有Root CA证书。 问题是我们一直在使用IE9(仅IE9)遇到一些奇怪的问题。IE9浏览器向我们的服务器提交HTTPS请求时,有时没有HTTPS响应。我注意到的是IE9将刷新页面。更具体地说,提到的页面是登录页面。因此,当我输入用户名和密码并提交表单,但没有响应时,IE9似乎又重新加载了相同的登录页面。(使用空白的用户名和密码) 从应用程序级别进行跟踪时,我确实注意到我已经收到了用户名和密码,并且该应用程序无任何错误地结束了。 最让人头疼的是它不能每次都被复制。有时我们可以登录而没有任何问题,但是有时它会遇到上述问题。 现在,我们公司拥有网络团队,开发人员和其他团队。我们的Apache在负载均衡器下运行。网络人员声称他们从不更改任何设置,唯一的更改是我们的应用程序。但是从开发人员的角度来看,更改与登录过程无关。 从我的角度来看,好像用户单击了提交,应用程序(apache)就通过发送HTML(HTTPS响应)来完成它的工作,但是HTML在网络中以某种方式消失了。我是否怀疑与连接保持活动有关?可能是IE9浏览器代理以不同的方式处理它,并且它以某种方式认为连接失败并重新加载页面以进行重试? 但是无论如何,我已经注意到Apache中用于SSL连接的以下设置: SetEnvIf User-Agent“ 。MSIE 。 ” \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0强制响应-1.0 不确定如何设置排除IE9及更高版本的方式?当我进行搜索时,以上设置是为了解决IE与Apache连接时的一些长期存在的问题。但是由于IE9相当新,所以问题可能已经解决,我们需要更新设置吗? 希望有人可以对此有所启发。

5
如何防止网站上资源的热链接(“图像盗窃” /“带宽盗窃”)?
我正在尝试编写“最终”反热链接.htaccess ... 您可以在网上找到许多示例/教程 / 生成器,但其中许多是错误的或不完整的(或两者都是)。 这些是我要寻找的功能: 当HTTP_REFERER是外部站点时,必须阻止热链接以获取文件扩展名列表。 必须允许对当前域(duh)进行热链接,而不必在.htaccess中对其进行编码。 对于当前域,它必须在http和https下运行。 对于当前域,它必须与www一起使用,而不能与www一起使用。 必须能够将例外域添加到这些规则中(例如我们的朋友Google),并且这些域必须在http和https下以及带有www或不带有www的情况下工作。 到目前为止,这是我实现的目标: <IfModule mod_rewrite.c> Options +FollowSymlinks RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mydomain.com/.*$ [NC] RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com/.*$ [NC] RewriteRule \.(gif|jpe?g|png|zipx?)$ - [NC,F] </IfModule> 我的问题: 如何避免mydomain.com在.htaccess中进行硬编码?(能够将这个.htaccess部署到我所有的域中而不必为每个域都进行修改,那就太好了。) 在我的RewriteRule中,gif|jpe?g|png|zipx?等效gif|jpg|jpeg|png|zip|zipx吗?(对不起,正则表达式仍然很新。) 您是否发现我不知道的.htaccess中有什么不好的东西? 对于#1,我知道这是有可能的。我找到的最接近的代码段是从URL中删除www而不对域进行硬编码的代码段。有没有办法对我的问题1使用此方法? RewriteCond %{HTTP_HOST} ^www\.(.+) RewriteCond %{HTTPS}s/%1 ^(on(s)|offs)/(.+) RewriteRule ^ http%2://%3%{REQUEST_URI} [L,R=301] 更新: …

1
ProxyPass整个域到Tomcat,包括root
我已经将VirtualHost example.com配置为将所有请求代理到Tomcat服务器 ProxyPass / http://localhost:8088/app ProxyPassReverse / http://localhost:8088/app 这工作得很好了像URL example.com/page,但对于example.com和example.com/我得到这个重定向响应,这显然会导致什么。 HTTP/1.1 302 Moved Temporarily Date: Wed, 06 Jul 2011 21:13:37 GMT Server: Apache-Coyote/1.1 <-- the redirect comes from tomcat Location: http://example.com/app/ <-- nonsense ... 我该如何解决?最好在Apache配置中。 我正在使用Apache 2和Tomcat 7

1
Python / Django / WSGI / Apache-“ ImportError:没有名为站点的模块”
我正在尝试在本地ubuntu机器上使用django应用程序。但是,该站点无法正常工作,我的站点/var/log/apache2/errors.log充满了如下消息: ImportError: No module named site 我的/var/log/apache2/error.log(今天)看起来像这样: $ cat error.log | uniq -c 1 [Wed Jun 29 09:37:37 2011] [notice] Apache/2.2.17 (Ubuntu) mod_wsgi/3.3 Python/2.7.1+ configured -- resuming normal operations 12966 ImportError: No module named site 那是当我打开机器时它启动的通知,然后有12,966行都显示了该no module named site消息 请注意缺少日期时间字段。即使不访问网站(即即使不提出Web请求),也会重复出现这些错误。在浏览器中访问网站时,它挂起,好像在等待大量下载。 设定值 Apache模块 我正在使用python 2.5 virtualenv,其中包含许多通过pip安装的软件包(包括django 1.1)。我已加载mod_wsgi: $ ls -l /etc/apache2/mods-enabled/wsgi* …

4
仅当存在合适的文档根目录时才使用VirtualDocumentRoot
我想建立一个可以动态创建Apache虚拟主机而无需重新加载配置的环境。 我可以使用mod_vhost_alias做到这一点,我可以像这样设置默认的虚拟主机 <VirtualHost *> UseCanonicalName Off VirtualDocumentRoot /var/www/sandboxes/domains/%0 ServerName catchall.host </VirtualHost> 效果很好,但是如果请求当前未设置的主机名,则会收到404 Not Found错误。 我真正想做的是仅在文档根目录存在的情况下才启动VirtualHost ,否则请尝试匹配另一个虚拟主机(换句话说,使VirtualDocumentRoot的存在与使用虚拟主机相同) ServerAlias) 我尝试将其作为第二个虚拟主机,而第一个虚拟主机仅处理所有请求,但这没有用-对配置了VirtualDocumentRoot的域的请求落入默认的虚拟主机。 因此,如何动态配置虚拟主机,但对于尚未配置的任何虚拟主机又回退到另一个虚拟主机?

6
如何防止Apache跌落?
我有两台服务器托管着一个流量适中的Magento电子商务网站(每天从Google Analytics(分析)报告的浏览量为60k,我认为服务器本身报告的浏览量为80k)。除了罕见的偶发嘶哑之外,数据库服务器还可以平稳,快速地运行,但是apache服务器经常崩溃。 我已经设置了magento以使用推荐的PHP缓存(APC),以及将其自己的缓存文件保存在1.5 gig tmpfs中(此tmpfs通常会变得很满,当tmpfs为超过80%的容量)。我为Amazon Cloudfront提供大多数图像。我最近将nginx设置为apache的反向代理(nginx也提供静态文件)。我已尽力配置apache-keepalive和hostnamelookups已关闭,并且prefork的配置如下: <IfModule prefork.c> StartServers 50 MinSpareServers 50 MaxSpareServers 100 ServerLimit 512 MaxClients 256 MaxRequestsPerChild 400 </IfModule> 我尚未关闭.htaccess文件,并且访问日志记录已打开。我知道有些模块可以关闭。我不确定这三个更改中的任何一个将产生什么影响(如果有)。 apache服务器是具有6 gig RAM的VPS。截至撰写本文时,服务器正在报告load average: 17.77, 18.27, 49.76,但大约有2 GB的可用RAM。如果情况真的很糟,负载将达到120+并保持在该水平-重新启动apache会使站点恢复正常,负载也会下降。 vmstat是(当服务器报告上述负载时),我认为这表明CPU空闲值在0到70左右之间波动。iostat显示的iowait值介于0到0.2%之间。 我有点卡住了。我所知道的很少是告诉我的问题是,由于正在运行的代码和用户数量的结合,导致CPU过载。但是我经验不足,无法确定这就是问题所在。如果这是问题所在,我认为解决方案将是改进代码或使用负载均衡器将站点托管在两个VPS上。 所以,我想我的问题是: 我还能做些什么来发现服务器上的问题或瓶颈? 我可以对服务器配置进行任何明显的更改以改善这一点吗? 设置自动化系统以在负载超过一定水平时重新启动apache是​​一个好主意吗? 从上面可以看出,该站点超出服务器的可能性有多大? 编辑: 我发现有些奇怪的东西-/ var / spool / mail / root很大... 38演出。听起来不健康。这可能是问题吗?



8
HTTPD死了,但子系统锁定
我今天在php.ini中修改了max_execution_time,当我重新启动服务器时,出现此错误: Stopping httpd: [FAILED] Starting httpd: (98)Address already in use: make_sock: could not bind to address [::]:80 (98)Address already in use: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down Unable to open logs 我杀死了httpd proc:killall httpd,并且启动正常,但是我无法在服务器上打开任何网站。 服务httpd状态OUTPUT: httpd dead but subsys locked 我从/ var / …



3
error_log是什么?请求\ x16 \ x03 \ x01中的方法无效
我找到了这行 Invalid method in request \x16\x03\x01 on error_log file ,以及其他类似的行: [Wed Oct 27 23:16:37 2010] [error] [client 187.117.240.164] Invalid URI in request x\xb2\xa1:SMl\xcc{\xfd"\xd1\x91\x84!d\x0e~\xf6:\xfbVu\xdf\xc3\xdb[\xa9\xfe\xd3lpz\x92\xbf\x9f5\xa3\xbbvF\xbc\xee\x1a\xb1\xb0\xf8K\xecE\xbc\xe8r\xacx=\xc7>\xb5\xbd\xa3\xda\xe9\xf09\x95"fd\x1c\x05\x1c\xd5\xf3#:\x91\xe6WE\xdb\xadN;k14;\xdcr\xad\x9e\xa8\xde\x95\xc3\xebw\xa0\xb1N\x8c~\xf1\xcfSY\xd5zX\xd7\x0f\vH\xe4\xb5(\xcf,3\xc98\x19\xefYq@\xd2I\x96\xfb\xc7\xa9\xae._{S\xd1\x9c\xad\x17\xdci\x9b\xca\x93\xafSM\xb8\x99\xd9|\xc2\xd8\xc9\xe7\xe9O\x99\xad\x19\xc3V]\xcc\xddR\xf7$\xaa\xb8\x18\xe0f\xb8\xff 第一个错误发生几秒钟后,Apache正常重启了...

3
如何在Apache虚拟主机中使用DocumentRoot和服务器状态?
我将这个虚拟主机设置作为虚拟主机列表中的第一个。它是 <VirtualHost localhost:80> ServerName localhost DocumentRoot "/www/drupal5" <Location /server-status> SetHandler server-status Order Deny,Allow Allow from localhost </Location> </VirtualHost> 其余的虚拟主机在下面,并表示为*:80。 当我在此虚拟主机中包含DocumentRoot时,服务器上的请求http://localhost/server-status始终通过/www/drupal5/.htaccess中的重写规则来命中/index.php。如果我删除DocumentRoot声明,则/ server-status请求可以正常工作,但是该站点根本不可用http://localhost/。 我该如何http://localhost/server-status工作以及要加载的网站http://localhost/?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.