Articles of apache 2.2

清漆端口重调到80

在端口8888上运行清漆进行testing,在端口80上运行apache,但是当我input[url]:8888时,它只会redirect到[url]。 varnishlog也显示redirect。 我正在考虑wordpress可能会导致redirect,但我已经检查和清理htaccess以及一些SEO插件。 我错过了什么吗? 13 SessionOpen c [client ip] 49990 :8888 13 ReqStart c [client ip] 49990 1274576456 13 RxRequest c GET 13 RxURL c [url] 13 RxProtocol c HTTP/1.1 13 RxHeader c Host: [domain]:8888 13 RxHeader c Connection: keep-alive 13 RxHeader c Cache-Control: max-age=0 13 RxHeader c User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.11 (KHTML, […]

Apache在每次请求后发送错误文件

我们在这里遇到了apache2的问题,这似乎很难debugging…或者:首先要理解。 我们的环境是Debian Wheezy + Apache2 + mod_perl + Mason。 问题是,即使是Apache,如果我试图得到一个空的网站,发送一个错误文件后的文件本身, OK The server encountered an internal error or misconfiguration and was unable to complete your request. 但文件本身得到发送。 所以可以说,我有只有“你好”里面的index.html。 每一个“gui浏览器”(我已经试过了,所以Firefox,Chrome,Safari和Opera)只是显示你好,甚至在源代码中也没有像这样的错误。 没有解释梅森或其他任何事情在那里。 实际上,大多数浏览器完全忽略了其他文件,在发送第一个文件之后(这在我看来是非常好的),但是我不太清楚apache在文件本身之后如何发送这些文件成功创build并发送。 但是在networking日志(以及w3m和lynx)中,我在每个文件下面都看到了这个错误信息。 Apache不logging任何来自哪个文件或组件的文件,我们已经尝试禁用mod_rewrite之类的东西,所以,只有“基本的apache2configuration”才起作用,我们禁用了目录的自动处理程序和dhandlers的文件和向上,但:它仍然发送此消息。 我知道,我的解释不是很好,因为我不是这方面的专家,但也许任何人都有一个这样的想法,至less我可以试着看看这个事情是从哪里来的。

在git推MKCOL 405和锁500(错误:不能locking现有的信息/裁判)

我有一些麻烦build立与Apache的Git服务器。 这是我的gitrepo.conf: DavLockDB "opt/local/apache2/var/DavLock" <Directory /opt/local/apache2/htdocs/repo> DAV On Deny from all AuthType Basic AuthName "Git repositories" AuthUserFile /etc/apache2/other/htpasswd AuthGroupFile /etc/apache2/other/htgroup-git </Directory> <Directory /opt/local/apache2/htdocs/repo/myproject.git> Allow from all Order allow,deny <Limit GET> Require group myproject-reader </Limit> <Limit GET PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK> Require group myproject-writer </Limit> </Directory> 当我git push到http://admin@localhost/repo/myproject.git ,我得到这个: error: […]

Appserv会话不保存

我正在尝试保存会话,但事实并非如此。 刷新之后,它就像一个post一样消失。 这是我的脚本 if(isset($submitlogin)){ //Query setup $loginquery = "SELECT UserID, Password FROM Login WHERE UserID='".mssql_real_escape_string($username)."' AND Password='".$password."'"; $loginresult = mssql_query($loginquery); $countrows = mssql_num_rows($loginresult); if($countrows == 1){ $_SESSION['username'] = $username; $_SESSION['password'] = $password; } if($countrows != 1){ $login .= "<span style='color:red'>Login Failed</span>"; } } 它在我的笔记本电脑上工作,我不使用appserv。 有谁知道解决scheme?

Windows XP(在VirtualBox中)映射别名到主机服务器

我有一个运行VirtualBox的Ubuntu 12.04系统。 我安装了Windows XP作为一个虚拟机,它的工作完美。 我configuration文件共享,这工作正常。 我也可以在主机上的Internet Explorer中键入我的主机的IP,并在主机上的Apache提供默认的“It Works”默认页面的响应。 默认情况下,当我在浏览器中键入IP地址时,如http://10.10.10.10 ,主机Apache服务器将使用/ var / www来处理请求。 如果我input: http : //10.10.10.10/dev它会得到/ var / www / dev这是我所期望的。 现在的棘手的部分,我无法find解决scheme。 我试图能够做的是,而不是键入: http : //10.10.10.10/dev/mysite/httpdocs/我可以只键入http://mysite.dev ,它将路由就像一个虚拟主机。 我目前在我的Ubuntu主机上有一个像这样的虚拟主机设置,它可以在主机上的浏览器中正常工作,但是在客户操作系统(Windows XP)中不能正常工作。 如果我在虚拟机/访客浏览器中键入虚拟主机URL,它将只返回默认的/ var / www / 。 [新增信息]我需要这个function,所以我可以在IE浏览器中testingweb应用程序。 应用程序通常使用相对链接来进行资源和URL重写,而这些链接无法用完整的文件path正确parsing,而需要使用域名 root。 任何帮助,将不胜感激。 [请求的文件] 主机操作系统(Ubuntu 12.04) httpd.conf: NameVirtualHost *:80 /etc/apache2/sites-enabled/webapp.dev:http://pastebin.com/dtfXmM4i / etc / hosts: http : //pastebin.com/8G3ULbGs .htaccess: […]

Apache 2.2.22 SSL虚拟主机和Android / WebOS浏览器

我最近把我的CentOS 5.8服务器升级到了Apache 2.2.22,之后我似乎遇到了一些SSL问题。 我们的客户将一个CNAME提供给blah.mydomain.com。 blah.mydomain.com是一个Web服务器与多个主机(IP虚拟主机)使用SSL(和HTTP,但那些工作正常)。 所以发生的事情是,任何时候有人通过HTTPS访问网站,它在iOS和任何桌面浏览器上都能正常工作。 使用WebOS(非因素,实际上)Android的股票浏览器(Chrome和Firefox的Android工作正常)它提供了一个证书警告说,它来自我们的通配符证书* .blah.myserver.com。 如果您在桌面上查看证书,看起来不错。 颁发给blah.client1.com等 这是我们的httpd.conf设置 <VirtualHost 1.1.1.2:443> DocumentRoot "/place/stuff/things" ServerName blah.client1.com ServerAlias blah.myserver.com blah.blah.myserver.com *.client1.com SSLEngine on SSLCertificateFIle /etc/pki/tls/client1.crt SSLCertificateKeyFile /etc/pki/tls/private/client1.key.nopass SSLCACertificateFile /etc/pki/tls/certs/verisign.crt RewriteRules and RewriteBase stuff is here </VirtualHost> <VirtualHost 1.1.1.1:443> DocumentRoot "/place/stuff/things" ServerName blah.myserver.com ServerAlias *.myserver.com *.blah.myserver.com SSLEngine on SSLCertificateFIle /etc/pki/tls/myserver1.crt SSLCertificateKeyFile /etc/pki/tls/private/myserver1.key.nopass SSLCACertificateFile /etc/pki/tls/certs/versignmyserver.crt RewriteRules and […]

Keep-Alive是活跃的,接近来自哪里?

Apache服务器 SuPHP(php作为CGI?) 当我通过phpinfo浏览时,我看到Keep-Alive保持活动状态。 当我使用像RedBot这样的工具时,我看到连接:closures 如果我将Headers(通过htaccess或php)设置为 连接:保持活跃 我看到的反应是 连接:保持活动,closures 我扫描了所有的PHP文件 – 似乎没有设置连接:“closures”。 那么它从哪里来, 如何删除它,或者用Keep-Alivereplace它? 我试图通过htaccess取消设置。 我试图通过PHP设置空头。 这两种方法都没有奏效。 (是的,我已经读过这是一个configuration的东西 – 但它是“…”为什么我看到“closures”???)

使用CGI在PHP 5.3上运行单个Apache Vhost,其他站点在Apache模块上使用PHP 5.2

我一直在试图设置我的开发服务器来使用PHP 5.3.14通过CGI为我的Apache虚拟主机提供服务。 我设置的Apache服务器是Apache 2.2.3,PHP 5.2.10作为Apache模块运行。 CentOS 5.5是操作系统。 其中一个网站使用的function只能在PHP 5.3中使用,而且我的网站需要5.2,所以我只想运行CGI上需要PHP 5.3的网站。 我已经跟随了几个教程,我已经安装了Apache / PHP 5.2并作为一个模块工作。 我也下载和编译PHP 5.3.14成功到我已经build立了php-5.3.14 / sapi / cgi / php-cgi可执行文件,并准备好去。 如果我运行它与脚本它能正常工作。 但是,在将我认为正确的指令添加到VirtualHost之后,该站点仍然不使用PHP 5.3,而是继续使用PHP 5.2(将版本设置为Apache模块)。 这是我的Vhostconfiguration: <VirtualHost *:80> ServerName utfl.peapoddev.com ServerAlias elegal.utfl.peapoddev.com subsite.utfl.peapoddev.com library.utfl.peapoddev.com DocumentRoot /var/www/utfl/drupal DirectoryIndex index.html index.php SetEnv PHPRC /var/www/cgi-bin/php_5_3_14/ ScriptAlias /php-5-3-14/ /var/www/cgi-bin/php_5_3_14/ Action application/x-httpd-php-5-3-14 /php-5-3-14/php-cgi AddType application/x-httpd-php-5-3-14 .php .inc <Directory "/var/www/cgi-bin/php_5_3_14"> […]

服务器closures时,LDAP不会超时

我目前正在尝试添加LDAP支持来补充文件authentication系统。 不幸的是,由于LDAP服务器closures,我不能完全逐步淘汰整个文件系统。 目前的状态是,如果LDAP服务器在线并且有响应,那么我有一个适用于LDAP和文件login的系统。 但是,当LDAP服务器出现故障时,这就是我遇到的问题。 我不能只在ldap之前进行文件validation,因为如果用户名匹配,但是密码不匹配,它也会失败。 (这很重要,因为LDAP和htpasswd文件之间的密码不能保证一致。) 这是我目前的设置: <Directory /file/path> AuthType Basic AuthName "Password Required" AuthBasicProvider ldap file AuthUserFile /file/path/htpasswd AuthLDAPURL "ldap://ldap.companyserver.com:389/dc=company, dc=net" AuthLDAPBindAuthoritative off AuthzLDAPAuthoritative off Require valid-user </Directory> 我一直在寻找解决scheme的想法如下: 获取它实际上识别LDAP超时 find一个基本身份validation方式,当用户名匹配,但密码不符 我接受任何build议。 我正在玩LDAPConnectionTimeout,并没有得到有所作为。

Apache服务第一个域,尽pipeNameVirtualHosts和ServerName被设置

Apache的NameVirtualHost已经在httpd.conf中configuration好了: NameVirtualHost *:80 然而,尽pipeVHconfiguration看起来正确,但这些站点仍然默认为第一个虚拟主机。 他们都遵循以下模板(其中“site1”是网站的名称): <VirtualHost *:80> ServerName site1.domain.com DocumentRoot /var/www/site1/public <Location /> AuthName "Login Required" AuthType Basic AuthUserFile /var/www/site1/private/htpasswd Require valid-user </Location> </VirtualHost> Conf检查显示没有语法错误,并重新启动Apache不会产生任何错误。 坦率地说,我有点难住。 configuration设置是一样的其他服务器,但只有这一个有这个问题。 还有什么我可以检查?