Articles of apache2

Apache最近在闲置时使用增加的CPU

我已经使用标准的LAMP堆栈运行Ubuntu 14.04服务器已经有一段时间了,并且通过每天发送的电子邮件让系统每小时平均地使用CPU。 很长时间以来,这个报告大部分时间都是在90年代以前报告CPU空闲时间(这是一个轻载服务器)。 大约一个月前,这个改变了,服务器现在报告空闲时间在80年代,而不是90年代。 top显示apache是​​大多数CPU的用户: top – 00:20:43 up 39 days, 22:34, 1 user, load average: 0.34, 0.41, 0.39 Tasks: 165 total, 2 running, 163 sleeping, 0 stopped, 0 zombie %Cpu(s): 10.0 us, 0.7 sy, 0.0 ni, 89.2 id, 0.1 wa, 0.0 hi, 0.1 si, 0.0 st KiB Mem: 6110180 total, 5500892 used, 609288 free, […]

奇怪的行为与HTTP / 2.0(Apache-2.4.25)

我最近实现了HTTP / 2.0(昨天),而在开发我的网站时,我注意到一些请求正在以HTTP / 1.1的forms提供。 起初我以为他们采取了0ms这个事实,也许是因为这些文件在本地caching中,但是我注意到这实际上是完全随机的。 在我的apache2.conf中,我使用了指令Protocols h2 而不是 Protocols h2 h2c http/1.1 。 Firefox控制台显示; GET https://materialwebdesign.ltd/css/style.css [HTTP/2.0 200 OK 0ms] GET https://materialwebdesign.ltd/css/material.css [HTTP/1.1 200 OK 0ms] GET https://materialwebdesign.ltd/css/normalize.min.css [HTTP/1.1 200 OK 0ms] GET https://materialwebdesign.ltd/css/style.css [HTTP/2.0 200 OK 0ms] 还有一个令人困惑的是,在头文件中的响应,让我们使用material.css,显示X-Firefox-Spdy: h2 。 任何人都可以详细说明这一点,为什么发生这种情况?

由于可能的configuration错误,请求超出了10个内部redirect的限制

通过主页( example.com )进入我的网站时,一切正常。 但是,当进入example.com/forums时,我得到一个500内部错误,我在error_log中看到下面的内容: 由于可能的configuration错误,请求超出了10个内部redirect的限制。 另外,我知道我可以发布httpd -S的输出,但是它真的很长,并且没有扰stream块,并且格式化消失了,对不起。 这是我的.htaccess : <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ – [NC,L] RewriteRule ^(data|js|styles|install) – [NC,L] RewriteRule ^.*$ index.php [NC,L] RewriteBase /var/www/html </IfModule> 编辑:你需要虚拟主机? <IfModule mod_rewrite.c> RewriteCond %{HTTPS} !=on RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L] </IfModule>

无法运行cgi脚本

我在一个新鲜的Xubuntu上安装了backuppc。 一切都很好,除了当我尝试访问Web界面,而不是运行CGI脚本,我被提示下载一个bin文件。 我不是apache2专家,但backuppc.conf文件看起来很好: Alias /backuppc /usr/share/backuppc/cgi-bin/ <Directory /usr/share/backuppc/cgi-bin/> AllowOverride None Allow from all Options ExecCGI FollowSymlinks AddHandler cgi-script .cgi DirectoryIndex index.cgi AuthUserFile /etc/backuppc/htpasswd AuthType basic AuthName "BackupPC admin" require valid-user </Directory> 我已经启用了cgi模块( a2enmod cgi )。 另外我检查了apache2 error.log并没有find任何。 我该如何解决这个问题?

Rocket.Chat在Ubuntu 16.04 + Apache2 SSL代理不工作

问题:Rocket.Chat服务器完全通过HTTP运行,但不幸的是我无法使用HTTPS和Apache2反向代理… Apache-Config sub.example.com(Rocket.Chat): > <VirtualHost IP:443> > > ServerAdmin [email protected] > ServerName sub.example.com > ServerAlias www.sub.example.com > ErrorLog /var/log/chat.sub.example.com_error.log > TransferLog /var/log/chat.sub.example.com_access.log > LogLevel info > SSLEngine On > SSLCertificateFile /etc/letsencrypt/live/sub.example.com/fullchain.pem > SSLCertificateKeyFile /etc/letsencrypt/live/sub.example.com/privkey.pem > > <Location /> > Order allow,deny > Allow from all > </Location> > > RewriteEngine On > RewriteCond %{HTTP:Upgrade} =websocket […]

在ubuntu的精确的Apache 2.2.22 Apache进程的目的

使用工人MPM,StartServers 3和ThreadsPerChild 25,我们看到以下内容。 vagrant@precise64:$ sudo apachectl -v Server version: Apache/2.2.22 (Ubuntu) Server built: Feb 13 2012 01:51:56 vagrant@precise64:$ ps -aef | grep apache2 root 6147 1 0 01:41 ? 00:00:00 /usr/sbin/apache2 -k start www-data 6148 6147 0 01:41 ? 00:00:00 /usr/sbin/apache2 -k start www-data 6149 6147 0 01:41 ? 00:00:00 /usr/sbin/apache2 -k start www-data 6150 […]

解决了:在apache2 mod_proxy后面的nginx + passenger上的rails应用程序,ajax上传失败,错误500

情况如下:我使用nginx + passenger将Ubuntu应用服务器上的rails应用程序迁移到带有apache2 +的debian服务器上。 一切都很好,直到我们testing了一些带有handlebars.js和其他脚本的ajax函数加载模板。 这是抱怨的JavaScript调用,所以我安装了一个nginx虚拟主机服务端口8080.然后在Apache虚拟主机上的Apache代理configurationredirect到监听端口8080的nginx服务器。原始服务器工作正常与Nginx,所以我尽pipe这应该起作用,而且确实如此。 但最近我们testing了更多的应用程序菜单,发现它不能上传文件,但是如果我从虚拟主机configuration中删除代理线,这是在apache2上工作。 这是Apache2虚拟主机文件: <VirtualHost 217.13.81.93:443> ServerAdmin [email protected] ServerName design-union.co.uk ServerAlias www.design-union.co.uk vu2029.admin.tantosoft.com LogLevel error ErrorLog /var/log/apache2/design-union.co.uk/error.log #DocumentRoot /var/www/virtual/design-union.co.uk/htdocs DocumentRoot /var/www/virtual/design-union.co.uk/htdocs/current.new/public PassengerLogLevel 3 Alias /errors /var/www/virtual/design-union.co.uk/errors/ SuexecUserGroup vu2029 vu2029 #SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1 <FilesMatch ".+\.ph(p[3457]?|t|tml)$"> SetHandler "proxy:unix:/var/run/php5-fpm-design-union.co.uk.sock|fcgi://design-union.co.uk/" </FilesMatch> <Directory /var/www/virtual/design-union.co.uk> Options +SymLinksIfOwnerMatch Require all granted </Directory> <Directory /var/www/virtual/design-union.co.uk/htdocs> AllowOverride All Options […]

Apache2将根重写到testing服务器上的各个子目录/子网站

我正在从旧的Debian 6服务器迁移到一个漂亮的新的Ubuntu 16.04服务器。 在我们的Debian服务器上,我们有主域,但也有几个子域(每个都有.conf文件),比如: http://www.example.com http://dev.example.com http://db.example.com 在新服务器上,因为我们还没有一个指向IP地址的域名,但是我们必须testing迁移的网站,所以我使用了下面的.conf文件: <VirtualHost *:80> ServerAdmin [email protected] Alias /prod /var/www/example.com/web Alias /dev /var/www/dev.example.com/web Alias /db /var/www/db.example.com/public_html DirectoryIndex index.php </VirtualHost> 所以,如果我想在每个环境中进入主页,我使用这些URL: http://11.22.33.44/prod/ http://11.22.33.44/dev/ http://11.22.33.44/db/ 现在,在开发网站,我有漂亮的URLredirect规则,如: RewriteRule ^pretty-url /path/to/content [L,R=301] 问题是,如果我导航到http://11.22.33.44/dev/pretty-url ,它会将我redirect到http://11.22.33.44/path/to/content , 而不是 http://11.22.33.44/dev/path/to/content 。 鉴于我不能使用一个指令,如ServerName dev.11.22.33.44或ServerName 11.22.33.44/dev ,我不想改变Web目录中的.htaccess文件 – 我的.conf文件应该是什么样子允许IP地址上有多个“站点”,每个站点映射到一个子目录,并正确地重写到该子目录?

SFTP消息validation代码不正确/ HTTPS上传错误

我有许多在Microsoft Azure上作为虚拟机运行的Ubuntu Server 16.04 LTS实例。 自从一个星期以来,我们在通过SFTP和HTTPS向这些服务器上传更大的文件时遇到了问题。 奇怪的是,服务器上没有任何变化,问题只发生在指定的networking上。 症状是: HTTPS上传: net::ERR_SSL_BAD_RECORD_MAC_ALERT显示在错误控制台中 SFTP上传:几百兆后中止。 在服务器上,日志文件/var/log/auth.log显示以下错误: fatal: ssh_dispatch_run_fatal: Connection from 81.83.5.23 port 63154: message authentication code incorrect 真正奇怪的是,这只发生在比利时特定互联网提供商的某些networking上。 其他提供商没有这个问题,所以我怀疑互联网提供商是这个问题的原因。 任何想法如何解决这个问题或解决?

单个VirtualHost上的Apache2客户端证书

如何在Apache2中启用只需要一个有效的客户端证书,只有一个虚拟主机的20个? 我是否需要在全球启用它,然后在另一个19上不需要它?