我正在尝试按正则expression式过滤邮件。 我想要匹配的主题读取像[git-foo] some more text ,其中foo是我想检查的string。 我结束了以下 require ["fileinto", "variables", "regex"]; if header :regex "subject" "^\[git-.*\]" { set :lower :upperfirst "repository" "${1}"; if string :is "${repository}" "" { fileinto "Test/default"; } else { fileinto "Test/${repository}"; } } replace第一个if语句if header :matches "subject" "[git-*" { files mail into Test/Foo] some more text但是当纠正"[git-*"为"[git-*]" ,不匹配。 正则expression式适用于grep -e 。 如何将文件正确地存入Test/Foo […]
我现在有icinga2与新的icingaweb2用户界面。 它默认为子文件夹/ icingaweb,如下所示: location ~ ^/icingaweb/index\.php(.*)$ { # fastcgi_pass 127.0.0.1:9000; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME /usr/share/icingaweb/public/index.php; fastcgi_param ICINGAWEB_CONFIGDIR /etc/icingaweb; } location ~ ^/icingaweb(.+)? { alias /usr/share/icingaweb/public; index index.php; try_files $1 $uri $uri/ /icingaweb/index.php$is_args$args; } 如果我将第一个位置块更改为: location / { 它显示login页面减去所有的CSS。 我怎样才能得到它从一个子域ex前工作。 icinga.example.com? 为了logging我知道的文件的其余部分是正确的,比如server_name,listen root等 提前致谢。 服务器块请求: server { listen 80; server_name icinga.example.com; root […]
我正在尝试创buildredirect来添加尾部斜杠, location / { if($request_uri ~ ^([^.]*[^/])$){ return 301 https://$host$request_uri/; } } 我不知道如何做匹配,如果我简单地创buildredirect与/ – 它的工作,只是这个正则expression式似乎打破。 UPDATE 重写我试过了 location / { rewrite ^([^.]*[^/])$ $1/ permanent; ….. } 和 if ($http_x_forwarded_proto != "https") { return 301 https://$host$request_uri; } 工作正常,redirect到https,我想与它创build正则expression式
我一直试图parsing文档中的 AWS S3日志,但是我遇到了一些问题。 具体来说,我不断遇到新的,罕见的日志行,打破了我的正则expression式。 每次发生这种情况时,我修改我的正则expression式来解释这些行,但是我真的希望一劳永逸地解决这个问题。 挑战在于,用户代理字段显然允许包含任意字符(包括引号)(甚至不会被转义!)。 我最近遇到以下logging,例如: 8b24a6e5b101a6376ebfd307854b8379da11acdc3efc2a2cbbf305b4a2af8de7 —–redacted-bucket-name—– [13/Nov/2015:18:43:39 +0000] 86.3.176.75 – 6AA66FF0D0ACB8BF REST.GET.OBJECT a.gif "GET /—–redacted-path—– HTTP/1.1" 200 – 26 26 18 17 "http://www.waldorfford.com/new/Ford/2015-Ford-Transit+Connect-7f06c8800a0a006400f609b1db0568a3.htm" "Mozilla/5.0 (Linux; Android 5.0.1; Alba 7" Tablet Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.76 Safari/537.36" – 我的parsing器成功parsing了超过四百三十万个日志行,然后在这个gem上窒息。 在过去,parsing器也扼杀了这个logging,在将正则expression式的<referrer>部分改为非贪婪之前: 8b24a6e5b101a6376ebfd307854b8379da11acdc3efc2a2cbbf305b4a2af8de7 —–redacted-bucket-name—– [26/Sep/2015:12:59:27 +0000] 67.248.97.42 – C5EBC1D929EBBD53 REST.GET.OBJECT a.gif "GET /—–redacted-path—– HTTP/1.1" […]
这是我的问题https://serverfault.com/a/761474/77231的扩展 我正在尝试向URL添加一个额外的QUERY STRING参数,并将空格更改为下划线,但没有成功。 而不是简单地改变: http://somedomainname.com/grafana/dashboard/db/generic-ping?var-device=SF-some.machinename.com 至: http://somedomainname.com/grafana/dashboard/db/generic-ping?var-device=SF-some_machinename_com 我试图改变一个额外的参数,如: http://somedomainname.com/grafana/dashboard/db/generic-check?var-device=SF-some.machinename.com&var-check=Check CPU Load 至: http://somedomainname.com/grafana/dashboard/db/generic-check?var-device=SF-some_machinename_com&var-check=Check_CPU_Load 在我以前回答的问题中使用相同的逻辑,我能够得到第一部分工作使用: RewriteCond %{QUERY_STRING} (.*)\.(.*)\.(.*) RewriteRule ^/grafana/dashboard/db/generic-check /grafana/dashboard/db/generic-check?%1_%2_%3 [R=301] 但是,这显然只是让我的第一部分,并出现如下: http://somedomainname.com/grafana/dashboard/db/generic-check?var-device=SF-some_computername_com&var-check=Check%2520CPU%2520Load 我已经添加了一个额外的QUERY_STRING和重写规则,如: RewriteCond %{QUERY_STRING} ^&var-check=(.*)\ (.*)\ (.*) RewriteRule ^&var-check var-check=%1_%2_%3 [R=301] …没有成功。 我也试过把两者结合起来: RewriteCond %{QUERY_STRING} (.*)\.(.*)\.(.*)&(.*)\ (.*)\ (.*) RewriteRule ^/grafana/dashboard/db/generic-check /grafana/dashboard/db/generic-check?%1_%2_%3&%4_%5_%6 [R=301] ..也没有成功,以及使用%20 \s和%2520而不是\和一个空格…以及像\ |\s|%20|%2520这样的pipe道分隔符。 理想情况下,我希望在一次重写中完成这项工作,但是我很乐意让它工作。 任何帮助表示赞赏。
我们的日志从我们的应用程序发送到在同一主机上运行的rsyslog。 然后Rsyslog将消息转发给Sumo Logic。 我们需要在结构化数据字段中添加一些元数据到我们的日志消息中。 我们的一些应用程序已经使用结构化数据,所以我们不能简单地replace模板中的结构化数据属性。 另外,%STRUCTURED-DATA%属性包含了开始和结束括号,所以我们不能只在模板中join类似[%STRUCTURED-DATA% newmetadata]的东西。 根据财产替代文件 ,我们的select是使用FromChar和ToChar或正则expression式。 我查了一下资料来源,证实ToChar不能倒数。 我使用rsyslog正则expression式工具来创build以下模板: template(name="metadata_syslog" type="string" string="<%PRI%>1 %TIMESTAMP:::date-rfc3339% %HOSTNAME% %APP-NAME% %PROCID% %MSGID% [%STRUCTURED-DATA:R,ERE,1,FIELD:\[([^]]*)\]–end% extrafield=value] %msg%\n") 从以下示例事件 <142>1 2016-03-31T17:30:20.007Z some.host.name service/prod/app/foo_v2 – Audit [mdc@xxxxx category="io.service.segment.IndexIO$DefaultIndexIOHandler" thread="foo_v2-incremental-persist"] Processing file[dim_device.drd] 正则expression式工具正确地parsing出没有括号的结构化数据。 当我在rsyslog中使用这个模板时,我得到关于%PRI%部分(debugging输出)的语法错误: Reading a token: 9936.286569660:main thread : Called LogMsg, msg: error during parsing file /etc/rsyslog.d/21-logging.conf, on or before line 4: […]
每隔一段时间我的服务器closures,当我检查我的nginx日志时,我通常会看到类似这样的内容: 78.37.54.31 – – [20/Apr/2016:20:58:51 +0300] "\x00\x00\x00TZ\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x04\x010I\x00\x00\x00\x00\xFC\x01\xA8\xC0\x00!\x00\xFDk\x00\x00\x00\x00\x00\x00\x00\x00" 400 166 "-" "-" 89.169.219.212 – – [21/Apr/2016:11:37:22 +0300] "\x00\x00\x00 c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 400 166 "-" "-" 我使用DigitalOcean文章推荐的默认推荐configuration安装了fail2ban,但是它并没有阻止这些扫描程序偶尔会超载我的服务器。 安装naxsi不是我现在的select。 任何人都可以帮助我为fail2ban形成正确的正则expression式规则? “apache-badbots”和“apache-wootwoot”监狱(可以很容易地search)没有为我工作。
我正在尝试为postfix-pcre创build一个小的virtual_alias_maps场景: .*@subdom\.domain\.com [email protected] 但是我得到这个错误: warning: pcre map /etc/postfix/virtual, line 1: unknown regexp option "c": skipping this rule 错误在哪里?
我试图从一些笔记中提取出以.story结尾的单词。 这个词总是被放置在一些链接,如bla:///bla/bla/bla/…/word.story 。 笔记可能包含多个链接,这些笔记的格式可能会有所不同,但在那里我总是会以bla///../…./bla.storyformsbla///../…./bla.story 。 直到现在我已经使用了下面的expression式: [string]$story_name = Select-String \w+..story -input $notes -AllMatches | Foreach {$_.matches -replace ('\.story','')} [string]$story_name = Select-String \w+..story -input $notes -AllMatches | Foreach {$_.matches -replace ('\.story','')}但是现在我正面临着一些问题,因为看起来如果链接包含的条目是bla:///bla/blablaistory/bla/bla/word.story比这个expression式还会select那个包含'istory'的单词,我不希望发生这种情况。 我应该用什么来避免这种情况?
我最近启用mod_proxy为apache2,并从断电重新启动我的服务器后,每当我试图启动apache2时出现以下错误: * Starting web server apache2 Syntax error on line 39 of /etc/apache2/sites-enabled/000-default: Regex could not be compiled Action 'start' failed. The Apache error log may have more information. 第39行包含以下内容: <ProxyMatch *> 我试着读取error.log文件,但找不到有关此错误的任何信息。 在服务器突然closures之前,Apache2正常运行(具有这些确切的设置)。 我的问题当然是:我该如何解决这个问题?