Articles of apache 2.2

使用https时不要到正确的网站根目录

我们有2个站点在Apache服务器上托pipe。 端口80的一切工作正常,但是当我们尝试使用https连接时,无论我们使用哪个URL,我们都被redirect到port443的第一个文档目录。 我们有一个适合这两个域的SAN(UCC)SSL证书。 任何人都可以帮助我们find一个解决scheme,所以https://website2.com不会在https://website1.com结束 <VirtualHost *:443> ServerName website1.com DocumentRoot /var/www/website1 </VirtualHost> <VirtualHost *:443> ServerName website2.com DocumentRoot /var/www/website2 </VirtualHost>

Apache2,多个IP,多个虚拟主机一个SSL

我正在build立一个基于debian squeeze的apache2服务器。 我想用多个IP来服务多个网站。 其中一些需要证书(每个网站一个证书)。 那么,我的服务器有3个IP(比方说0.0.0.0,1.1.1.1和2.2.2.2) 我已经为0.0.0.0和1.1.1.1 IP设置了多个虚拟主机,其中一个使用了ssl证书 现在,我使用以下scheme。 其中一个文件夹是/ home / apache / SITES。 我想要的是当用户点击http://2.2.2.2/mysite被redirect到http://2.2.2.2/mysite (服务/ home / apache / SITES / one),当他点击http:/ /2.2.2.2/my2site被redirect到http://2.2.2.2/my2site(服务于/ home / apache / SITES / 2) 到目前为止,我使用这种configuration。 <VirtualHost _default_ 2.2.2.2:80> DocumentRoot /home/apache/SITES/default/htdocs Alias /mysite /home/apache/SITES/one <IfModule mod_rewrite.c> <IfModule mod_ssl.c> <Location /mysite> RewriteEngine on RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}/mysite [R] […]

为什么不排除mod_rewrite中的一个文件夹没有考虑在内

我想排除mod_rewrite为一个特定的目录。 我希望文件夹“phd_application”不被重写,也就是当一个url指向的时候 www.myserver.com/phd_application 它去那个文件夹。 它在上传到Web服务器时工作,但不能在本地工作,我不明白为什么。 我有本地和远程相同的.htaccess文件。 我错过了什么? 我有以下.htaccess <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^(phd_application/) – [L] RewriteRule ^$ app/webroot/ [L] RewriteRule (.*) app/webroot/$1 [L] </IfModule> .htaccess所在目录的内容 -rwxr-xr-x 1 183 Dec 19 12:43 .htaccess drwxr-xr-x 13 18 Dec 13 15:44 app lrwxrwxrwx 1 15 Dec 13 14:48 cake -> ../CakePHP/cake -rwxr-xr-x 1 1850 Dec 13 15:14 […]

OSX上的Apache2,mod_proxy,mod_ssl不起作用

我正在尝试在OSX上设置apache2,并遇到问题。 我试图代理一个域到127.0.0.1:8081(这是启动和运行),但当尝试通过Apache加载,我得到一个“网页找不到”。 我也没有收到error_log来指示发生了什么,“apachectl configtest”返回OK。 这些指令在运行apache2的linux服务器上工作正常。 在启动apache之后,我在日志中看到的最后一条消息是:[notice] Apache / 2.2.20(Unix)mod_ssl / 2.2.20configuration了OpenSSL / 0.9.8r DAV / 2 – 恢复正常操作 任何帮助将是伟大的,我不是apache专家! /private/etc/apache2/extra/http-vhosts.conf TransferLog /var/log/apache2/transfer_log ProxyRequests Off NameVirtualHost *:443 # # THIS IS WORKING OK # EVERYTHING ON PORT 80 IS CHANGED TO HTTPS # <VirtualHost *:80> ProxyRequests Off ProxyPreserveHost On RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) […]

与自己的证书连接的HTTPS代理

我正在configuration一个具有以下Scheme的DMZ: Internet – Server A – Security Appliance – Server B – Intranet 在这个DMZ中,我需要一个代理服务器来连接从Intranet到Internet的http连接。 问题是,安全设备应扫描所有stream量。 为此,我必须终止服务器B上的SSL连接,通过安全设备将其作为普通http代理到服务器A,然后再作为https访问Internet。 客户端和服务器B以及目标服务器和服务器A之间的encryption是持续的。服务器A和服务器B之间的通信是未encryption的。 我知道安全风险,并且客户端会看到服务器B证书的未知CA的一些警告。 作为软件,我想在服务器A和服务器B上使用Apache Web服务器。 作为第一步,我尝试将服务器Bconfiguration为SSLencryption的端点。 所以它必须build立与客户端的encryption(回答HTTP连接)。 Listen 8443 <VirtualHost *:8443> ProxyRequests On ProxyPreserveHost On AllowCONNECT 443 # SSL ErrorLog logs/ssl_error_log TransferLog logs/ssl_access_log LogLevel debug SSLProxyEngine on SSLProxyMachineCertificateFile /etc/pki/tls/certs/localhost_private_public.crt <Proxy *> Order deny,allow Deny from all Allow from 192.168.0.0/22 </Proxy> […]

为什么FastCGI不能正确处理PATH_INFO重写?

我当前的主机使用FastCGI来进行PHP设置,当mod_rewrite指令redirect到带有PATH_INFO部分的URL时,这显然会导致一些问题。 例如,使用以下内容时会出现问题: RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 在使用上述操作时,导航到重写的URL会导致PHP中的“No input file specified”错误消息,这意味着PHP没有正确传递文件进行parsing。 我已经能够从networkingsearch学习,这个问题只出现在FastCGI下运行PHP时,但我没有find一个直接的答案是为什么 。 相反,networking显然充斥着一些盲目改变重写以使用查询string(例如,将index.php/$1部分改为index.php?/$1 – 注意? )而不真正理解底层问题的人。 我知道这个问题是重写过程的一部分,或者是重写过程的结果,并且这不是FastCGI安装无法处理PATH_INFO URL的问题,因为$_SERVER['PATH_INFO']当我直接导航到www.example.com/index.php/foobar而不经过重写过程时,variables被适当地填充。 有人可以解释什么是在重写和随后交付给PHP造成的失败?

apache服务器在easyapache重build后closures

我已经重build了我的apache服务器(使用WHM运行CentOS)来使用easyapache来更新我的apache特性。 在重build过程结束与build立成功后,我的网站成为无法访问与错误消息:无法连接到服务器。 我已经重新启动Apache服务器和SQL,然后重新重build,但具有相同的结果。 由于重build过程,我已经禁用了防火墙。 这是错误日志 [Fri Dec 23 00:17:40 2011] [notice] caught SIGTERM, shutting down [Fri Dec 23 00:17:42 2011] [notice] SSL FIPS mode disabled [Fri Dec 23 00:17:42 2011] [notice] suEXEC mechanism enabled (wrapper: /usr/local/apache/bin/suexec) [Fri Dec 23 00:17:42 2011] [notice] SSL FIPS mode disabled [Fri Dec 23 00:17:42 2011] [notice] Apache/2.2.21 (Unix) mod_ssl/2.2.21 […]

由于mysql服务器的活动,等待率非常高

有时服务器速度很慢,需要很多时间来处理请求。 iotop平均磁盘读取速度为1-2 M / S(这实际上并不算多),然后服务器再次非常快。 而非常缓慢,根据顶部等待率约为60-90%。 根据mysql的调优引导,所有的mysqlcaching都可以。 所以我不知道为什么MySQL服务器做了太多的磁盘读取。 有没有什么办法来找出是什么原因造成如此多的I / O在MySQL读取? 我不得不说,这是一个虚拟服务器,那么另一个客户是否可以使用整个I / O容量呢?

如何制作Ubuntu + Apache + mpm-worker + mod_php + APC?

我想在Ubuntu上制作高负载的Web服务器。 前端使用nginx,后端使用apache。 正如您可能猜到的,我无法收集Apache(worker)+ mod_php + APC,因为在apt-get安装的Ubuntu下是不可能的。 我怎样才能做到这一点? 如果你想build议从源头上收集,请给出确切的说明 请不要提供使用fastcgi

Apache2 foward代理无法连接到https站点

我有一个奇怪的问题,看起来像一个错误。 我使用apache 2.2作为一个简单的转发代理。 另一台服务器(相同操作系统,相同版本)上的相同安装程序也可以使用 我只需安装apache2并启用模块proxy , proxy_http和proxy_connect并设置适当的身份validation方法。 正常的http请求工作正常,但https请求在浏览器(chrome)中显示(在一段等待时间后)下面的错误; Error 111 (net::ERR_TUNNEL_CONNECTION_FAILED): Unknown error. apache错误日志显示以下内容: [Tue Dec 27 18:30:17 2011] [error] [client ***] (20014)Internal error: proxy: error reading status line from remote server ***.com [Tue Dec 27 18:30:17 2011] [error] [client ***] proxy: Error reading from remote server returned by ***.com:443 我读了一些错误报告,并search错误,发现一些东西,在反向代理设置和设置一些环境variables来禁用保持活着,但它并没有解决问题。 奇怪的是,在另一台服务器上,它似乎工作得很好! 有人可以指出我正确的方向与这个错误? 编辑: 服务器在Ubuntu […]