Articles of apache 2.2

如何升级的Apache 2.2.29 openssl – 仍然使用旧的0.9.8版本

我正在运行一个10.04LTE服务器,我想升级openssl的Apache。 所以我下载了openssl 1.0.2c和apache 2.2.29并编译了。 服务器正在启动,但正在使用旧的ssl版本: curl –head http://localhost HTTP/1.1 200 OK Date: Mon, 22 Jun 2015 06:00:06 GMT Server: Apache/2.2.29 (Unix) mod_ssl/2.2.14 OpenSSL/0.9.8k Last-Modified: Sun, 18 Mar 2012 19:56:07 GMT 但是,Openssl安装在新版本中: /usr/local/ssl/bin/openssl version OpenSSL 1.0.2c 12 Jun 2015 原始版本保留在原位: openssl version OpenSSL 0.9.8k 25 Mar 2009 我编译了Apache: ./configure –with-included-apr –prefix=/usr/local/apache2 –enable-so –enable-rewrite –with-ssl=/usr/local/ssl –enable-ssl=shared –enable-deflate […]

如何为所有非错误的Apache响应设置默认的内容types?

我希望所有的apache非错误响应与内容types的'application/json; charset=UTF-8' 'application/json; charset=UTF-8' 。 我如何做到这一点? 我试过添加: <VirtualHost *:80> AddType 'application/json; charset=UTF-8' </VirtualHost> 但是这需要指定文件扩展名,我不想绑定到文件扩展名,因为我没有请求特定的文件,但像这样的资源: http://my.domain.com/rest/articles/ 我也试过DefaultType指令: <VirtualHost *:80> DefaultType 'application/json; charset=UTF-8' </VirtualHost> 但这似乎并没有工作 – Content-Type:text/html; charset=utf-8 Content-Type:text/html; charset=utf-8被返回。 我错过了什么吗?

安装nginx&hhvm后无法运行apache

我在我的本地ubuntu机器上运行了Apache2,并在本地安装了nginx&hhvm,以便进行debugging。 我现在想像以前那样切换回Apache2,之前我已经运行了PHP5-FPM的Apache&NGINX,并且可以通过运行下面的代码来切换它们: sudo service nginx stop sudo service apache2 restart 现在,当我尝试访问我的Magento应用程序时,出现以下错误 /var/www/app/Mage.php was not found 我可以看到默认的Ubuntu Apache页面,当我去http:// localhost / 我试过跑步 ~:$ sudo service nginx stop ~:$ sudo service hhvm stop ~:$ sudo service apache2 restart * Restarting web server apache2 [ OK ] ~:$ sudo service php5-fpm restart stop: Unknown instance: php5-fpm start/running, process 12258 […]

Apache mod_perl无法find启动脚本

用Apache 2.2.15和mod_perl 2.0.4运行Centos 6.6 我试图添加一个启动脚本( startup.pl ),但似乎无法得到mod_perlfind它。 我已经将configuration降低到了最低限度,仍然为我重现了这个问题。 Apache的mod_perlconfiguration: LoadModule perl_module modules/mod_perl.so PerlRequire /home/web/pdxep/startup.pl PerlSwitches -wT /home/web/pdxep/startup.pl内容 [jhg@perseus pdxep]$ pwd /home/web/pdxep [jhg@perseus pdxep]$ cat startup.pl use lib qw(/home/web/pdxep); 1; 当试图启动Apache时: [Wed Jul 08 16:13:02 2015] [error] Can't locate /home/web/pdxep/startup.pl in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 /etc/httpd) at (eval 2) line 1.\n […]

build议使用apache的pagespeed反向代理服务器的configuration

我想设置服务器使用pagespeed反向代理服务器与Apache的几个网站,不能运行在他们的原始页速度。 看来我应该能够为每个站点创build一个VirtualHost ,并使用ModPagespeedMapProxyDomain来指定原始服务器。 我一直没有能够得到这个工作。 这是我迄今为止。 http://origin.example.com/是所有dynamic和静态内容的Web服务器。 它不运行pagespeed。 http://www.example.com/将被configuration为反向代理的pagespeed服务器。 没有文件托pipe在这里。 我已经为CentOS安装了mod-pagespeed-stable-1.9.32.4-7251.x86_64 ,除了CoreRules之外,我使用了/etc/httpd/conf.d/pagespeed.conf的默认configuration – 请参阅我的configuration 。 然后我添加了一个VirtualHost目录: <VirtualHost 111.222.333.444:80> ServerName www.example.com <IfModule pagespeed_module> ModPagespeed On ModPagespeedMapProxyDomain www.example.com origin.example.com </IfModule> </VirtualHost> 现在任何对http://www.example.com/的请求都会产生一个带有403 Forbidden头的空白页面: [q@localhost ~] curl -I http://www.example.com/ HTTP/1.1 403 Forbidden […] 该请求被logging到全局access_log ,但在error_log中没有消息(MPS是否有自己的错误日志?)。 我可以访问http://www.example.com/pagespeed_global_admin但没有任何迹象表明有错误。 如果我使用ProxyPassReverse / http://origin.example.com/删除ModPagespeed* config并将vhost设置为代理,则该站点加载正常。 但是,当然,pagespeed不生效。 你能看到我做错了吗? 什么是build立一个pagespeed反向代理的build议方式?

仅针对特定urlredirect到SSL

我想通过重新引导一些URL模式强制SSL www。 例如, 强制SSL wwwredirect: http://example.com/asia/fewf -> https://www.example/asia/fewfwe http://example.com/africa/foo/bar/1/ -> https://www.example/africa/foo/bar/1/ 不要做任何事: http://example.com/europe/1 -> http://example.com/europe/1 http://www.example.com/europe/1 -> http://www.example.com/europe/1 我试着添加这个: RedirectMatch 301 ^(/asia[^/]*/.*)$ https://www.example.com$1 但是,它会导致错误:“太重要的redirect”

频繁的SIGTERM Apache

我怀疑sometings是在我的networking服务器出错(也许可能的拒绝服务攻击)。 其实我看到很多这样的条目: [Sun Jul 19 10:36:21 2015] [error] [client 141.212.122.18] client sent HTTP/1.1 request without hostname (see RFC2616 section 14.23): /x [Mon Jul 20 12:19:41 2015] [notice] caught SIGTERM, shutting down 是否有可能阻止他们? (的fail2ban?)

将Django应用程序部署为WordPress子页面(在子url),mod-wsgi

我有一个WordPress的博客,假设它的地址就像yakblog.org ,它是一个安装在Ubuntu 12.04服务器上的Wordpress博客。 现在,我想运行一个Django应用程序作为我的博客的子页面之一,所以我可以像这样访问它: yakblog.org/testproject 。 这是确切的情况: https : //community.webfaction.com/questions/17758/wordpress-on-root-domain-django-in-subdirectory (虽然我不使用webfaction)。 此外,我试过这里给出的解决scheme: https : //stackoverflow.com/questions/26013379/run-django-project-inside-wordpress-on-suburl-of-wordpress-using-apache-and-mod ,但后来我有一个WordPress的消息: This is somewhat embarrassing, isn't it? 但是,我遇到了一些这样做的问题,我不确定是否可以用我的设置。 好吧,我做了以下工作来实现我所需要的: 在/var/www/yak/public_html创build一个Django项目,所以在/var/www/yak/public_html我有这样的结构: 然后,在我的/etc/apache2/apache2.conf文件中添加一行WSGIPythonPath /var/www/yak/public_html/testproject 这是我的虚拟主机代码: <VirtualHost *:80> ServerAdmin webmaster@localhost ServerName yakblog.org/testproject ServerAlias www.yakblog.org/testproject #RedirectPermanent / http://yakblog.org/testproject WSGIScriptAlias /testproject /var/www/yak/public_html/testproject/testproject/wsgi.py DocumentRoot /var/www/yak/public_html/testproject/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/yak/public_html/testproject/> Options Indexes […]

我如何强制mod_rewrite发送URI的用户信息组件?

一位同事build议我把这个从StackOverflow重新发布到ServerFault: 这一直使我疯狂。 我有一个通过Apache Web服务器提供的Web应用程序。 支持应用程序的数据库服务器是Apache CouchDB,它公开了HTTP API来检索文档和stream附件。 我通过提供一个安全对象来保护CouchDB数据库,该安全对象只允许某些用户访问数据库中的数据,并返回401匿名请求到HTTP端点。 我想能够映射公共URL到存储在这个数据库中的文档附件。 所以,我试图在我的.htaccess文件中创build一个重写规则,它将来自某些URL的请求直接代理到CouchDB,同时对用户凭证进行硬编码,如下所示: ## DOWNLOAD STREAM: RewriteCond %{HTTP_HOST} ^example.com$ RewriteRule download/(.*) http://user:[email protected]:5984/database/$1 [P] 在理想的世界中,上面的例子将采用以下URL: http://example.com/download/UUID/attachment.ext 并代理它: http://user:[email protected]:5984/database/UUID/attachment.ext 这个方法确实将请求代理到CouchDB,但省略了URIscheme的userinfo组件。 所以,该请求被视为匿名,我得到一个401错误。 如果从数据库中删除安全性,附件只能stream式传输。 我花了几个小时阅读Apache的configuration和尝试无济于事。 由于所有相关的查询都有类似的关键字,networkingsearch是徒劳的。 我如何确保mod_rewrite包含在代理CouchDB时在重写规则中提供的用户名和密码?

debugging缓慢的服务器响应时间

我正在testing我的VPS服务器的响应时间: curl -s -w %{time_total}\\n -o /dev/null http://www.example.com 这个值通常是300ms,Googlebuild议它应该低于200。 看起来这不取决于使用的CMS,与Wordpress和其他平台相同。 几乎没有包括简单的PHP页面有价值圆175。 也许这是一些Apache或DNSconfiguration错误? 你将如何debugging,看看如何提高响应时间?