Articles of Apache

Apache:是否可以设置所有虚拟主机使用的默认自定义日志格式?

我想在Apache 2.2中为我的虚拟主机设置自定义日志logging: 我正在寻找的是一种定义自定义日志格式(一次)的方法,然后可以将其用作所有我的vhost的configuration自定义日志的格式。 我可以在我的vhost.conf文件的顶部定义日志格式,然后在每个vhost指令中引用它(或者在主httpd.conf中定义它)? – 或者我必须为每个虚拟主机块定义一次吗? 谢谢

将内容推送到Apachestream量服务器的caching

我正在尝试使用Apache Traffic Server(ATS)的push cache选项来将一些内容推送到我的caching中。 我阅读文档,并试图遵循它,但我有以下问题/问题使用此选项: 1 –在提到的文档中,为了启用PUSH请求,修改proxy.config.http.quick_filter.mask中的proxy.config.http.quick_filter.mask 。 然而,我找不到这样一个超级面具来修改该文件。 运行grep -r proxy.config.http.quick_filter.mask . 在ATSconfiguration文件夹中显示出这个超级掩码存在于ip_allow.config文件中。 他们是一样的吗? 我应该修改它还是应该添加到records.config ? 不幸的是我不能检查这个由于我的问题2号。 2 –我不知道如何发送这个HTTP PUSH请求和谁(在哪个端口上运行相同的端口ATS?)。 有perl脚本 ,假设自动化的过程中,虽然我不能够运行脚本(不知道任何perl,但工作 – 获取Can't locate File/MimeInfo/Magic.pm in @INC ) 。 我想从脚本中打印出端口,看看如何推入caching。 任何提示/技巧将不胜感激。

access.log中奇怪的Java用户代理

我最近注意到我的主要生产服务器上的巨大负载,经过一些日志parsing,我偶然发现大量的用户代理来自大约20个不同的IP: 173.244.182.194 – [07 / May / 2013:16:26:17 +0200]“GET / HTTP / 1.1”302 490“ – ”“Java / 1.6.0_26”173.244.182.194 – – [07 / May / 2013 :16:26:18 +0200]“GET / HTTP / 1.1”200 17376“ – ”“Java / 1.6.0_26” 猜测这是某种屏幕抓取工具,我设法阻止这些用户代理fail2ban。 现在我很困惑,一旦禁令时间到期,来自IP的请求会一遍又一遍地重新开始。 目前,我目前阻止了大约10个IP。 它是什么? IP源自服务器和个人用户,这是一个正常的事件(像那些不断尝试使用SSHlogin的被感染的服务器)应该担心我的服务器安全吗?

在Apache中,每个VirtualHost有可能有2个错误日志吗?

我有大约10个VirtualHosts,我喜欢保持error_logs分开。 最近,我还需要将所有的error_logs组合起来进行一些mod_security扫描。 如果我为testingVirtualDomain定义了2个ErrorLogs,我注意到没有错误被logging。 很奇怪 是否有可能让一个CustomLog扮演一个ErrorLog的angular色? 还是我错误地定义了我的2个ErrorLogs? <VirtualHost 1.2.3.4:80> ServerName mydomain.net ServerAlias www.mydomain.net mydomain.net DocumentRoot /var/www/html/mydomain ServerAdmin [email protected] UseCanonicalName Off ErrorLog logs/mydomain.net-error_log ErrorLog logs/unified_modsecurity-error_log CustomLog logs/mydomain.net-access_log combined UserDir disabled UserDir enabled mydomainuser </VirtualHost>

Apache日志文件不存在

我每天都在Apache日志中堆积了很多这样的东西: [Mon Jun 09 20:42:58 2014] [error] [client 180.153.214.181] File does not exist: /home/user/public_html/ajax.googleapis.com, referer: http://www.mysite.com//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js 我每天有超过20万的访问者,但是其中有几个人正在产生上述错误。 我无法弄清楚是什么原因造成的。 检查了html代码,这一切都很好,所以我用尽了想法。

Apache访问日志中的UTF-8字符✔

问题 我正在使用PHP的apache_note()将Web请求中的variableslogging到CustomLog格式。 但是,尽可能地尝试一下,Apache不想按照我想要的方式来loggingUTF-8字符。 在PHP中,我有apache_note('some_value', '✔'); 这对应于VHostconfiguration,如下所示: LogFormat "%{some_value}n" custom_format CustomLog ${APACHE_LOG_DIR}/access.log custom_format 但是,Apache最终会logging像这样的文字版本: \xe2\x9c\x94 我试过了 检查了LANG和LC_ALL的值,它们都被设置为en_US.UTF-8 更新/etc/apache2/envvars /etc/default/locale使用/etc/default/locale 使用mod_charset_lite我已经在站点的Apacheconfiguration中设置了CharsetSourceEnc UTF8和CharsetDefault UTF8 (我知道这是用于内容input/输出) 检查/etc/apache2/conf.d/charset是否设置了AddDefaultCharset UTF-8 尝试通过pipe道日志发送日志输出到另一个程序 – 它的到达时间,所以它看起来像是与Apache进程本身有关。 通读Apache日志文档 最终,我想要访问日志显示如下所示: ✔ 但我正在拉我的头发试图到达那里。 其他信息 Apache版本2.4.10 Debian 8.4 更新 根据Esa的build议,我修改了LogFormat指令: LogFormat "%{some_value}n ✔" custom_format 我得到以下几点: \xe2\x9c\x94 ✔ 这很有趣,因为它表明Apache愿意loginUTF-8。 不过,我仍然不相信这个问题与PHP传递非UTF-8值有关。 apache_note('some_value', '✔'); $value = apache_note('some_value'); print_r($value); 在PHP中仍然打印出来 ✔ 我会尝试在旁边重新编译Apache,看看它有帮助,但我确实需要在生产中这可能是有害的。

性能明智的htaccess

这是我的htaccess模板,我想知道是否可以添加任何东西,以提高网站的性能.. # Defaults AddDefaultCharset UTF-8 DefaultLanguage en-US ServerSignature Off FileETag None Header unset ETag Options -MultiViews #Options All -Indexes # Force the latest IE version or ChromeFrame <IfModule mod_setenvif.c> <IfModule mod_headers.c> BrowserMatch MSIE ie Header set X-UA-Compatible "IE=Edge,chrome=1" env=ie </IfModule> </IfModule> # Proxy X-UA Setup <IfModule mod_headers.c> Header append Vary User-Agent </IfModule> #Rewrites Options +FollowSymlinks […]

西class牙语url在apache访问日志里

我的网站被configuration为包括cyrilicurl为SEO的原因,使用一些RewriteRules。 它的墙壁工作得很好,链接看起来像这样 http://site.com/категория/новина.html 现在,我遇到的问题是,当apache在access.log中logging请求时,将其保存为以下格式: http://site.com/%D0%94%D0%B0/%D0%BC%D1%D0.html 我如何configurationApache保存到access.log正确的cyrilicurl?

奇怪的htaccess问题和PHP拒绝内部请求

我已经添加了 Order Deny,Allow Deny from all allow from *my ip* 到我的htaccess文件,但现在当我使用像getimagesize函数,我尝试从服务器上的本地文件检索数据时出现错误。 错误:[function.getimagesize]:未能打开stream:达到redirect限制 当我删除htaccess中的行它的作品。 我也尝试添加“允许从本地主机”和“允许从127.0.0.1”,但无济于事。

减less“旋转”值后,使logrotate删除旧的日志

我试图通过减less/etc/logrotate.d/apache2中的'rotate 52'为'rotate 8'来减less为Apache保存的日志文件的数量。 每周轮换,这应该保持2个月的日志,而不是一整年。 我通过Puppet将新configuration部署到了我们的十几台服务器上,发现它的工作方式与我预期的不同。 我期望它去除Apache错误和访问日志日志超过8周,即9-52。 相反,它保留了所有的旧日志,并没有创build任何超过8周限制的新日志! 现在轮到9了,但是10-52仍然存在。 search存档显示我这是已知的行为,例如Logrotate不会删除旧的日志 我如何轻松摆脱旧的日志? 我想避免在每台服务器上手动删除它们。 我还没有部署任何编排软件,所以木偶将不得不这样做。 我的/etc/logrotate.d/apache2文件显示如下: /var/log/apache2/*.log { weekly missingok rotate 8 compress delaycompress notifempty create 644 root adm sharedscripts postrotate /etc/init.d/apache2 reload > /dev/null endscript prerotate if [ -d /etc/logrotate.d/httpd-prerotate ]; then \ run-parts /etc/logrotate.d/httpd-prerotate; \ fi; \ endscript }