# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"^map\s*\$\w+\s*\$\w+\s*{\n*\s*([a-z,.]+)\s*([a-z,_]+);\s*"
test_str = ("# configuration file /etc/nginx/nginx.conf:\n"
"user www-data;\n"
"worker_processes auto;\n"
"pid /var/run/nginx.pid;\n"
"load_module modules/ngx_http_wallarm_module.so;\n"
"include /etc/nginx/modules-enabled/*.conf;\n"
"worker_rlimit_nofile 65535;\n\n"
"events {\n"
" worker_connections 8096;\n"
" multi_accept on;\n"
" use epoll;\n"
"}\n\n"
"http {\n"
" sendfile on;\n"
" tcp_nopush on;\n"
" tcp_nodelay on;\n"
" keepalive_timeout 65;\n"
" types_hash_max_size 2048;\n"
" server_tokens off;\n"
" include /etc/nginx/mime.types;\n"
" default_type application/octet-stream;\n"
" geoip_country /usr/share/GeoIP/GeoIP.dat;\n\n"
" # Lua\n"
" lua_package_path '/etc/nginx/lua/?.lua;;';\n"
" lua_package_cpath '/etc/nginx/lua/lib/?.so;;';\n"
" lua_shared_dict stats 10m;\n\n"
" map $http_user_agent $log_ua {\n"
" ^Wallarm.* 0;\n"
" default 1;\n"
" }\n"
" map $http_upgrade $connection_upgrade {\n"
" default upgrade;\n"
" '' close;\n"
" }\n"
" error_log /var/log/nginx/error.log;\n"
" gzip on;\n"
" gzip_disable \"msie6\";\n\n"
" client_max_body_size 100m;\n\n"
" log_format wallarm_combined '$remote_addr | $host | \"$request\" | $status | $body_bytes_sent | \"$http_referer\" | \"$http_user_agent\" | $wallarm_attack_type';\n"
" log_format qrator '2xFFFFFF|:,_|$bytes_sent|:,_|$http_accept|:,_|$http_accept_encoding|:,_|$http_accept_language|:,_|$http_cookie|:,_|$http_host|:,_|$http_referer|:,_|$http_user_agent|:,_|$http_x_forwarded_for|:,_|$remote_addr|:,_|$request|:,_|$request_time|:,_|$status|:,_|$time_local|:,_|$upstream_response_time|:,_|$http_x_requested_with|:,_|$http_authorization|:,_|$remote_port|:,_|-|:,_|$msec|:,_|';\n\n"
" more_clear_headers Server;\n"
" proxy_headers_hash_bucket_size 128;\n"
" log_format main '$remote_addr - $remote_user [$time_local] '\n"
" '\"$host\" \"$request\" $status $body_bytes_sent '\n"
" '\"$http_referer\" \"$http_user_agent\"';\n"
" access_log syslog:server=127.0.0.1:20001 main;\n"
" error_log syslog:server=127.0.0.1:20002;\n"
" include /etc/nginx/qrator_real_ip.conf;\n"
" include /etc/nginx/whites.conf;\n"
" include /etc/nginx/conf.d/*.conf;\n"
" include /etc/nginx/sites-enabled/*;\n"
"}\n\n"
"# configuration file /etc/nginx/modules-enabled/10-mod-http-ndk.conf:\n"
"load_module modules/ndk_http_module.so;\n\n"
"# configuration file /etc/nginx/modules-enabled/50-mod-http-auth-pam.conf:\n"
"load_module modules/ngx_http_auth_pam_module.so;\n\n"
"# configuration file /etc/nginx/modules-enabled/50-mod-http-dav-ext.conf:\n"
"load_module modules/ngx_http_dav_ext_module.so;\n\n"
"# configuration file /etc/nginx/modules-enabled/50-mod-http-echo.conf:\n"
"load_module modules/ngx_http_echo_module.so;\n\n"
"# configuration file /etc/nginx/modules-enabled/50-mod-http-geoip.conf:\n"
"load_module modules/ngx_http_geoip_module.so;\n\n"
"# configuration file /etc/nginx/modules-enabled/50-mod-http-headers-more-filter.conf:\n"
"load_module modules/ngx_http_headers_more_filter_module.so;\n\n"
"# configuration file /etc/nginx/modules-enabled/50-mod-http-image-filter.conf:\n"
"load_module modules/ngx_http_image_filter_module.so;\n\n"
"# configuration file /etc/nginx/modules-enabled/50-mod-http-lua.conf:\n"
"load_module modules/ngx_http_lua_module.so;\n\n"
"# configuration file /etc/nginx/modules-enabled/50-mod-http-subs-filter.conf:\n"
"load_module modules/ngx_http_subs_filter_module.so;\n\n"
"# configuration file /etc/nginx/modules-enabled/50-mod-http-upstream-fair.conf:\n"
"load_module modules/ngx_http_upstream_fair_module.so;\n\n"
"# configuration file /etc/nginx/modules-enabled/50-mod-http-xslt-filter.conf:\n"
"load_module modules/ngx_http_xslt_filter_module.so;\n\n"
"# configuration file /etc/nginx/modules-enabled/50-mod-mail.conf:\n"
"load_module modules/ngx_mail_module.so;\n\n"
"# configuration file /etc/nginx/modules-enabled/50-mod-stream.conf:\n"
"load_module modules/ngx_stream_module.so;\n\n"
"# configuration file /etc/nginx/mime.types:\n"
"types {\n"
" text/html html htm shtml;\n"
" text/css css;\n"
" text/xml xml rss;\n"
" image/gif gif;\n"
" image/jpeg jpeg jpg;\n"
" application/x-javascript js;\n"
" application/atom+xml atom;\n\n"
" text/mathml mml;\n"
" text/plain txt;\n"
" text/vnd.sun.j2me.app-descriptor jad;\n"
" text/vnd.wap.wml wml;\n"
" text/x-component htc;\n\n"
" image/png png;\n"
" image/tiff tif tiff;\n"
" image/vnd.wap.wbmp wbmp;\n"
" image/x-icon ico;\n"
" image/x-jng jng;\n"
" image/x-ms-bmp bmp;\n"
" image/svg+xml svg svgz;\n\n"
" application/java-archive jar war ear;\n"
" application/json json;\n"
" application/mac-binhex40 hqx;\n"
" application/msword doc;\n"
" application/pdf pdf;\n"
" application/postscript ps eps ai;\n"
" application/rtf rtf;\n"
" application/vnd.ms-excel xls;\n"
" application/vnd.ms-powerpoint ppt;\n"
" application/vnd.wap.wmlc wmlc;\n"
" application/vnd.google-earth.kml+xml kml;\n"
" application/vnd.google-earth.kmz kmz;\n"
" application/x-7z-compressed 7z;\n"
" application/x-cocoa cco;\n"
" application/x-java-archive-diff jardiff;\n"
" application/x-java-jnlp-file jnlp;\n"
" application/x-makeself run;\n"
" application/x-perl pl pm;\n"
" application/x-pilot prc pdb;\n"
" application/x-rar-compressed rar;\n"
" application/x-redhat-package-manager rpm;\n"
" application/x-sea sea;\n"
" application/x-shockwave-flash swf;\n"
" application/x-stuffit sit;\n"
" application/x-tcl tcl tk;\n"
" application/x-x509-ca-cert der pem crt;\n"
" application/x-xpinstall xpi;\n"
" application/xhtml+xml xhtml;\n"
" application/zip zip;\n\n"
" application/octet-stream bin exe dll;\n"
" application/octet-stream deb;\n"
" application/octet-stream dmg;\n"
" application/octet-stream eot;\n"
" application/octet-stream iso img;\n"
" application/octet-stream msi msp msm;\n"
" application/ogg ogx;\n\n"
" audio/midi mid midi kar;\n"
" audio/mpeg mpga mpega mp2 mp3 m4a;\n"
" audio/ogg oga ogg spx;\n"
" audio/x-realaudio ra;\n"
" audio/webm weba;\n\n"
" video/3gpp 3gpp 3gp;\n"
" video/mp4 mp4;\n"
" video/mpeg mpeg mpg mpe;\n"
" video/ogg ogv;\n"
" video/quicktime mov;\n"
" video/webm webm;\n"
" video/x-flv flv;\n"
" video/x-mng mng;\n"
" video/x-ms-asf asx asf;\n"
" video/x-ms-wmv wmv;\n"
" video/x-msvideo avi;\n"
"}\n\n"
"# configuration file /etc/nginx/qrator_real_ip.conf:\n"
"set_real_ip_from 87.245.197.192;\n"
"set_real_ip_from 87.245.197.193;\n"
"set_real_ip_from 87.245.197.194;\n"
"set_real_ip_from 87.245.197.195;\n"
"set_real_ip_from 87.245.197.196;\n"
"set_real_ip_from 83.234.15.112;\n"
"set_real_ip_from 83.234.15.113;\n"
"set_real_ip_from 83.234.15.114;\n"
"set_real_ip_from 83.234.15.115;\n"
"set_real_ip_from 83.234.15.116;\n"
"set_real_ip_from 66.110.32.128;\n"
"set_real_ip_from 66.110.32.129;\n"
"set_real_ip_from 66.110.32.130;\n"
"set_real_ip_from 66.110.32.131;\n"
"set_real_ip_from 130.117.190.16;\n"
"set_real_ip_from 130.117.190.17;\n"
"set_real_ip_from 130.117.190.18;\n"
"set_real_ip_from 130.117.190.19;\n"
"set_real_ip_from 185.94.108.0/24;\n"
"set_real_ip_from 10.3.52.32/27;\n"
"real_ip_header X-Qrator-IP-Source;\n"
"real_ip_recursive on;\n\n"
"# configuration file /etc/nginx/whites.conf:\n"
"geo $exampleapp {\n"
" 192.168.100.100 off;\n"
" default monitoring;\n"
"}\n"
"geo $sberauto {\n"
" default monitoring;\n"
"}\n"
"geo $thehrp {\n"
" default monitoring;\n"
"}\n"
"geo $kfc {\n"
" default monitoring;\n"
"}\n"
"geo $kfc_block {\n"
" default block;\n"
"}\n\n"
"# configuration file /etc/nginx/conf.d/default.conf:\n"
"server {\n"
" listen 80;\n"
" server_name localhost;\n\n"
" #charset koi8-r;\n"
" #access_log /var/log/nginx/host.access.log main;\n\n"
" location / {\n"
" root /usr/share/nginx/html;\n"
" index index.html index.htm;\n"
" }\n\n"
" #error_page 404 /404.html;\n\n"
" # redirect server error pages to the static page /50x.html\n"
" #\n"
" error_page 500 502 503 504 /50x.html;\n"
" location = /50x.html {\n"
" root /usr/share/nginx/html;\n"
" }\n\n"
" # proxy the PHP scripts to Apache listening on 127.0.0.1:80\n"
" #\n"
" #location ~ \\.php$ {\n"
" # proxy_pass http://127.0.0.1;\n"
" #}\n\n"
" # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000\n"
" #\n"
" #location ~ \\.php$ {\n"
" # root html;\n"
" # fastcgi_pass 127.0.0.1:9000;\n"
" # fastcgi_index index.php;\n"
" # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;\n"
" # include fastcgi_params;\n"
" #}\n\n"
" # deny access to .htaccess files, if Apache's document root\n"
" # concurs with nginx's one\n"
" #\n"
" #location ~ /\\.ht {\n"
" # deny all;\n"
" #}\n"
"}\n\n\n"
"# configuration file /etc/nginx/conf.d/wallarm-acl.conf:\n"
"wallarm_acl_db cyberpolygon {\n"
" wallarm_acl_path /var/lib/wallarm/wallarm_acl-cyberpolygon;\n"
" wallarm_acl_mapsize 64m;\n"
"}\n"
" \n"
"server {\n"
" listen 127.0.0.10:80;\n"
" \n"
" server_name localhost;\n"
" \n"
" allow 127.0.0.0/8;\n"
" deny all;\n"
" \n"
" access_log off;\n"
" \n"
" location /wallarm-acl {\n"
" wallarm_acl cyberpolygon;\n"
" wallarm_acl_api on;\n"
" }\n"
"}\n\n"
"# configuration file /etc/nginx/conf.d/wallarm-status.conf:\n"
"# wallarm-status, required for monitoring purposes.\n\n"
"server {\n"
" listen 127.0.0.8:80;\n\n"
" server_name localhost;\n\n"
" allow 127.0.0.0/8;\n"
" allow 10.2.67.67/32;\n"
" deny all;\n\n"
" wallarm_mode off;\n"
" access_log off;\n\n"
" location /wallarm-status {\n"
" wallarm_status on;\n"
" access_log /tmp/test;\n"
" }\n"
"}\n\n"
"# configuration file /etc/nginx/conf.d/wallarm.conf:\n"
"#\n"
"# Wallarm module specific parameters\n"
"#\n\n\n"
"wallarm_mode monitoring;\n"
"wallarm_mode_allow_override off;\n\n\n"
"# wallarm_key_path /etc/wallarm/license.key;\n"
"# wallarm_global_trainingset_path /etc/wallarm/proton.db;\n"
"# wallarm_local_trainingset_path /etc/wallarm/lom;\n\n"
"wallarm_fallback on;\n"
"wallarm_acl_db default {\n"
" wallarm_acl_path /var/lib/nginx/wallarm_acl_default;\n"
" wallarm_acl_mapsize 64m;\n"
"}\n"
"# wallarm_cache_path /var/cache/nginx/wallarm\n\n"
"# wallarm_instance -1;\n\n"
"#wallarm_block_page @error;\n"
"error_page 400 @error;\n"
"error_page 403 @error;\n"
"error_page 302 @error;\n"
"error_page 301 @error;\n"
"error_page 502 @error;\n"
"error_page 500 @error;\n\n"
"# wallarm_parse_response on;\n"
"# wallarm_parse_websocket off;\n\n"
"# wallarm_process_time_limit 1000;\n"
"# wallarm_process_time_limit_block attack;\n"
"# wallarm_worker_rlimit_vmem 1g;\n\n"
"# wallarm_tarantool_host 127.0.0.1;\n"
"# wallarm_tarantool_port 3313;\n"
"#upstream wallarm_tarantool {\n"
"# server 10.2.67.28:3313 max_fails=0 fail_timeout=0 max_conns=1;\n"
"# keepalive 1;\n"
"# }\n"
"#wallarm_tarantool_upstream wallarm_tarantool;\n"
"# wallarm_upstream_connect_attempts 10;\n"
"# wallarm_upstream_reconnect_interval 15;\n\n"
"# configuration file /etc/nginx/sites-enabled/check:\n"
"server {\n"
" listen 80;\n"
" server_name check;\n\n"
" include error.conf;\n"
" allow 10.3.52.32/27;\n"
" deny all;\n"
" return 200;\n"
"}\n\n"
"# configuration file /etc/nginx/error.conf:\n"
"location @error {\n"
" root /etc/nginx/html/;\n"
" if ($request_method != 'GET') { return 403 '<pre>Access denied</pre>'; }\n"
" internal;\n"
" try_files /$status.html =403;\n"
"}\n\n\n"
"# configuration file /etc/nginx/sites-enabled/collect_statistics:\n"
"upstream node_01 {\n"
" server 10.2.53.2:80 max_fails=10 fail_timeout=30;\n"
"}\n\n"
"upstream node_02 {\n"
" server 10.3.52.3:80 max_fails=10 fail_timeout=30;\n"
"}\n\n"
"server {\n"
" listen 80;\n"
" listen 443 ssl;\n"
" server_name stat1.mow03.cwaf.zone;\n"
" ssl_certificate /etc/nginx/ssl/cert.pem;\n"
" ssl_certificate_key /etc/nginx/ssl/key.pem;\n"
" include ssl.conf;\n"
" include error.conf;\n\n"
" location /node01 {\n"
" proxy_pass http://node_01;\n"
" }\n"
" location /node02 {\n"
" access_by_lua_file /etc/nginx/lua/show.lua;\n"
" }\n"
"}\n\n"
"# configuration file /etc/nginx/ssl.conf:\n"
"ssl_session_cache shared:le_nginx_SSL:1m;\n"
"ssl_session_timeout 1440m;\n\n"
"ssl_prefer_server_ciphers on;\n\n"
"ssl_ciphers \"ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS\";\n\n"
"ssl_dhparam /etc/nginx/ssl-dhparams.pem;\n\n"
"# configuration file /etc/nginx/sites-enabled/cyberpolygon.com:\n"
"upstream cyberpolygon_testbizone {\n"
" server 10.3.90.10:80 max_fails=0 fail_timeout=180;\n"
" keepalive 1000;\n"
"}\n"
"upstream cyberpolygon_testbizone_ws {\n"
" server 10.3.90.10:4443 max_fails=0 fail_timeout=180;\n"
" keepalive 1000;\n"
"}\n"
"upstream cyberpolygon_hatest {\n"
" #ip_hash;\n"
" hash $remote_addr$remote_port;\n"
" server 10.3.90.2:8080 max_fails=0 fail_timeout=180;\n"
" server 10.3.90.3:8080 max_fails=0 fail_timeout=180;\n"
" keepalive 100;\n"
"}\n"
"upstream cyberpolygon_hatest_ws {\n"
" ip_hash;\n"
" server 10.3.90.11:4443 max_fails=0 fail_timeout=180;\n"
" keepalive 100;\n"
"}\n"
"server {\n"
" listen 80;\n"
" server_name hatest.cyberpolygon.com;\n"
" set $wallarm_instance 57401; # Replace with valid instance number\n"
" wallarm_instance $wallarm_instance;\n"
" wallarm_mode $exampleapp; # check whites.conf for geoip whitelist or specify mode manually\n"
" wallarm_mode_allow_override off;\n"
" include error.conf; # Custom error pages\n"
" include count.conf; # Lua counter\n"
" include qrator_real_ip.conf;\n"
" location / {\n"
" proxy_pass http://cyberpolygon_hatest;\n"
" include proxy.conf;\n"
" }\n\n"
" # Disable static files check\n"
" location ~* \\.(js|jpg|png|css|ico|svg|pdf|woff|eot|otf|woff2)$ {\n"
" wallarm_parse_response off;\n"
" proxy_pass http://cyberpolygon_hatest;\n"
" include proxy.conf;\n"
" }\n\n"
"}\n"
"server {\n"
" listen 80;\n"
" server_name cyberpolygon.com;\n"
" set $wallarm_instance 57401; # Replace with valid instance number\n"
" wallarm_instance $wallarm_instance;\n"
" wallarm_mode $exampleapp; # check whites.conf for geoip whitelist or specify mode manually\n"
" wallarm_mode_allow_override off;\n"
" include error.conf; # Custom error pages\n"
" include count.conf; # Lua counter\n"
" include qrator_real_ip.conf;\n"
" proxy_connect_timeout 300;\n"
" proxy_read_timeout 300;\n"
" proxy_send_timeout 180;\n"
" #rewrite ^([^.]*[^/])$ $1/ permanent;\n"
" access_log syslog:server=10.3.78.23:514,facility=local7,tag=cwaf,severity=info wallarm_combined if=$wallarm_attack_type;\n"
" access_log syslog:server=127.0.0.1:20001 main;\n"
" deny 109.252.53.206;\n"
" allow all;\n"
" location / {\n"
" proxy_pass http://cyberpolygon_hatest;\n"
" include proxy.conf;\n"
" }\n"
" #location /testblacklist_cwaf {\n"
" # proxy_pass http://cyberpolygon_hatest;\n"
" # wallarm_acl cyberpolygon;\n"
" # include proxy.conf;\n"
" #}\n\n"
" # Disable static files check\n"
" location ~* \\.(js|jpg|png|css|ico|svg|pdf|woff|eot|otf|woff2)$ {\n"
" wallarm_parse_response off;\n"
" proxy_pass http://cyberpolygon_hatest;\n"
" include proxy.conf;\n"
" }\n\n"
"}\n\n"
"server {\n"
" listen 4443 default_server;\n"
" server_name _;\n"
" set $wallarm_instance 57401; # Replace with valid instance number\n"
" wallarm_instance $wallarm_instance;\n"
" wallarm_mode $exampleapp; # check whites.conf for geoip whitelist or specify mode manually\n"
" wallarm_mode_allow_override off;\n"
" include error.conf; # Custom error pages\n"
" include count.conf; # Lua counter\n"
" include qrator_real_ip.conf;\n"
" proxy_connect_timeout 60;\n"
" proxy_read_timeout 1d;\n"
" proxy_send_timeout 1d;\n"
" location / {\n"
" proxy_pass http://cyberpolygon_hatest_ws;\n"
" proxy_set_header Host $host;\n"
" proxy_http_version 1.1;\n"
" proxy_set_header Upgrade $http_upgrade;\n"
" proxy_set_header Connection \"upgrade\";\n"
" }\n"
"}\n"
"server {\n"
" listen 4443;\n"
" server_name hatest.cyberpolygon.com;\n"
" set $wallarm_instance 57401; # Replace with valid instance number\n"
" wallarm_instance $wallarm_instance;\n"
" wallarm_mode $exampleapp; # check whites.conf for geoip whitelist or specify mode manually\n"
" wallarm_mode_allow_override off;\n"
" include error.conf; # Custom error pages\n"
" include count.conf; # Lua counter\n"
" include qrator_real_ip.conf;\n"
" proxy_connect_timeout 60;\n"
" proxy_read_timeout 1d;\n"
" proxy_send_timeout 1d;\n"
" location / {\n"
" proxy_pass http://cyberpolygon_hatest_ws;\n"
" proxy_set_header Host $host;\n"
" proxy_http_version 1.1;\n"
" proxy_set_header Upgrade $http_upgrade;\n"
" proxy_set_header Connection \"upgrade\";\n"
" }\n"
"}\n"
"server {\n"
" listen 4444;\n"
" server_name hatest.cyberpolygon.com;\n"
" set $wallarm_instance 57401; # Replace with valid instance number\n"
" wallarm_instance $wallarm_instance;\n"
" wallarm_mode $exampleapp; # check whites.conf for geoip whitelist or specify mode manually\n"
" wallarm_mode_allow_override off;\n"
" include error.conf; # Custom error pages\n"
" include count.conf; # Lua counter\n"
" include qrator_real_ip.conf;\n"
" proxy_connect_timeout 60;\n"
" proxy_read_timeout 1d;\n"
" proxy_send_timeout 1d;\n"
" location / {\n"
" proxy_pass http://cyberpolygon_hatest_ws;\n"
" proxy_set_header Host $host;\n"
" proxy_http_version 1.1;\n"
" proxy_set_header Upgrade $http_upgrade;\n"
" proxy_set_header Connection \"upgrade\";\n"
" }\n"
"}\n\n"
"server {\n"
" listen 80;\n"
" server_name cyberpolygon.testbizone.ru;\n"
" set $wallarm_instance 57401; # Replace with valid instance number\n"
" wallarm_instance $wallarm_instance;\n"
" wallarm_mode $exampleapp; # check whites.conf for geoip whitelist or specify mode manually\n"
" wallarm_mode_allow_override off;\n"
" include error.conf; # Custom error pages\n"
" include count.conf; # Lua counter\n"
" include qrator_real_ip.conf;\n"
" location / {\n"
" proxy_pass http://cyberpolygon_testbizone;\n"
" proxy_set_header Host 'fake.jq.lv';\n"
" include proxy.conf;\n"
" }\n\n"
" # Disable static files check\n"
" location ~* \\.(js|jpg|png|css|ico|svg|pdf|woff|eot|otf|woff2)$ {\n"
" wallarm_parse_response off;\n"
" proxy_pass http://cyberpolygon_testbizone;\n"
" include proxy.conf;\n"
" }\n\n"
"}\n\n\n"
"# configuration file /etc/nginx/count.conf:\n"
"log_by_lua_file /etc/nginx/lua/count.lua;\n\n"
"# configuration file /etc/nginx/proxy.conf:\n"
"proxy_set_header Host $host;\n"
"proxy_set_header X-Real-IP $remote_addr;\n"
"proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n"
"proxy_set_header X-Forwarded-Proto https;\n"
"proxy_http_version 1.1;\n"
"proxy_set_header Connection \"\";\n\n\n"
"# configuration file /etc/nginx/sites-enabled/default:\n"
"server {\n"
" listen 443 ssl default_server;\n"
" server_name _;\n"
" ssl_certificate /etc/nginx/ssl/cert.pem;\n"
" ssl_certificate_key /etc/nginx/ssl/key.pem;\n"
" ssl_protocols TLSv1.1 TLSv1.2;\n\n"
" include error.conf;\n\n"
" return 444;\n"
"}\n"
"server {\n"
" listen 80 default_server;\n"
" server_name _;\n\n"
" include error.conf;\n\n"
" return 444;\n"
"}\n"
"server {\n"
" listen 80;\n"
" server_name status;\n"
" allow 127.0.0.1;\n"
" deny all;\n"
" location /nginx_status {\n"
" stub_status;\n"
" }\n"
"}\n\n"
"# configuration file /etc/nginx/sites-enabled/fake.jq.lv:\n"
"upstream exampleapp {\n"
" ip_hash;\n"
" server fake.jq.lv:443;\n"
"}\n\n"
"server {\n"
" listen 80;\n"
" server_name fake.jq.lv;\n"
" set $wallarm_instance 51781; # Replace with valid instance number\n"
" wallarm_instance $wallarm_instance;\n"
" wallarm_mode $exampleapp; # check whites.conf for geoip whitelist or specify mode manually\n"
" wallarm_mode_allow_override off;\n"
" include error.conf; # Custom error pages\n"
" include count.conf; # Lua counter\n"
" access_log syslog:server=127.0.0.1:10001 qrator; \n"
" \n"
" location / {\n"
" proxy_pass https://exampleapp;\n"
" include proxy.conf;\n"
" }\n\n"
" # Disable static files check\n"
" location ~* \\.(js|jpg|png|css|ico|svg|pdf|woff|eot|otf|woff2)$ {\n"
" wallarm_parse_response off;\n"
" proxy_pass https://exampleapp;\n"
" include proxy.conf;\n"
" }\n\n"
"}\n\n\n"
"# configuration file /etc/nginx/sites-enabled/kfc.ru:\n"
"upstream kfc_ru {\n"
" server 95.131.26.22:443 max_fails=10 fail_timeout=30;\n"
" keepalive 32;\n"
"}\n"
"upstream stg_kfc_ru {\n"
" server 85.193.75.86:443 max_fails=10 fail_timeout=30;\n"
" keepalive 32;\n"
"}\n"
"upstream kfc_az_com {\n"
" server 185.99.9.23:443 max_fails=10 fail_timeout=30;\n"
" keepalive 32;\n"
"}\n"
"upstream gsd_kfc_ru {\n"
" server 95.181.206.171:443 max_fails=10 fail_timeout=30;\n"
" keepalive 32;\n"
"}\n"
"#upstream gsd_kfc_ru_http {\n"
"# server 95.181.206.171:80 max_fails=10 fail_timeout=30;\n"
"# keepalive 32;\n"
"#}\n\n\n"
"map $http_host $kfc_upstream {\n"
" kfc.ru kfc_ru;\n"
" staging.website.kfc.digital stg_kfc_ru;\n"
" staging.kfc.digital stg_kfc_ru;\n"
" gsd.kfc.ru gsd_kfc_ru;\n"
" fz.kfc.ru gsd_kfc_ru;\n"
" mgsd.kfc.ru gsd_kfc_ru;\n"
" www.kfc.by kfc_az_com;\n"
" kfc.by kfc_az_com;\n"
" www.m.kfc.by kfc_az_com;\n"
" m.kfc.by kfc_az_com;\n"
" in.kfc.by kfc_az_com;\n"
" m.in.kfc.by kfc_az_com;\n"
" admin.kfc.by kfc_az_com;\n"
" www.kfc-az.com kfc_az_com;\n"
" kfc-az.com kfc_az_com;\n"
" www.m.kfc-az.com kfc_az_com;\n"
" m.kfc-az.com kfc_az_com;\n"
" in.kfc-az.com kfc_az_com;\n"
" m.in.kfc-az.com kfc_az_com;\n"
" admin.kfc-az.com kfc_az_com;\n"
" feedback.kfc.ru kfc_az_com;\n"
" default kfc_ru;\n"
"}\n\n"
"map $http_host $kfc_wallarm_instance {\n"
" kfc.ru 68381;\n"
" staging.website.kfc.digital 68382;\n"
" staging.kfc.digital 68382;\n"
" gsd.kfc.ru 68383;\n"
" fz.kfc.ru 68384;\n"
" mgsd.kfc.ru 68385;\n"
" www.kfc.by 68386;\n"
" kfc.by 68386;\n"
" www.m.kfc.by 68388;\n"
" m.kfc.by 68388;\n"
" in.kfc.by 683810;\n"
" m.in.kfc.by 683811;\n"
" admin.kfc.by 683812;\n"
" www.kfc-az.com 683813;\n"
" kfc-az.com 683813;\n"
" www.m.kfc-az.com 683815;\n"
" m.kfc-az.com 683815;\n"
" in.kfc-az.com 683817;\n"
" m.in.kfc-az.com 683818;\n"
" admin.kfc-az.com 683819;\n"
" feedback.kfc.ru 683820;\n"
" default 68381;\n"
"}\n\n\n"
"server {\n"
" listen 80;\n"
" server_name *.kfc.by *.kfc.ru *.kfc-az.com staging.kfc.digital;\n"
" set $wallarm_instance $kfc_wallarm_instance;\n"
" wallarm_instance $wallarm_instance;\n"
" wallarm_mode $kfc;\n"
" wallarm_mode_allow_override off;\n"
" proxy_ssl_server_name on;\n"
" proxy_ssl_name $host;\n"
" include ssl.conf;\n"
" include error.conf;\n"
" include count.conf;\n"
" set_real_ip_from 10.3.52.32/27;\n"
" real_ip_header X-Real-IP;\n"
" real_ip_recursive on;\n"
" ssl_session_tickets on;\n\n"
" location / {\n"
" wallarm_parse_response off;\n"
" proxy_pass https://$kfc_upstream;\n"
" include proxy.conf;\n"
" proxy_ssl_protocols TLSv1.2;\n"
" proxy_ssl_ciphers RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS:!DH:!DHE;\n\n"
" }\n"
" location /fz/Telerik.Web.UI.WebResource.axd {\n"
" wallarm_process_time_limit 10000;\n"
" wallarm_parse_response off;\n"
" proxy_pass https://$kfc_upstream;\n"
" include proxy.conf;\n"
" proxy_ssl_protocols TLSv1.2;\n"
" proxy_ssl_ciphers RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS:!DH:!DHE;\n\n"
" }\n"
" location /svc/Telerik.Web.UI.WebResource.axd {\n"
" wallarm_process_time_limit 10000;\n"
" wallarm_parse_response off;\n"
" proxy_pass https://$kfc_upstream;\n"
" include proxy.conf;\n"
" proxy_ssl_protocols TLSv1.2;\n"
" proxy_ssl_ciphers RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS:!DH:!DHE;\n\n"
" }\n"
" location /bp {\n"
" proxy_read_timeout 20m;\n"
" wallarm_parse_response off;\n"
" proxy_pass https://$kfc_upstream;\n"
" include proxy.conf;\n"
" proxy_ssl_protocols TLSv1.2;\n"
" proxy_ssl_ciphers RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS:!DH:!DHE;\n\n"
" }\n"
" # location /testtest {\n"
" # wallarm_parse_response off;\n"
" # proxy_pass http://gsd_kfc_ru_http;\n"
" # include proxy.conf;\n"
" # }\n\n\n"
" location ~* \\.(js|jpg|png|css|ico|svg|pdf|woff|eot|otf|woff2)$ {\n"
" wallarm_parse_response off;\n"
" proxy_pass https://$kfc_upstream;\n"
" include proxy.conf;\n"
" }\n"
" location /api/mqtt/ws {\n"
" proxy_pass https://$kfc_upstream;\n"
" include proxy.conf;\n"
" proxy_set_header Upgrade $http_upgrade;\n"
" proxy_set_header Connection $connection_upgrade;\n"
" }\n\n"
"}\n"
"server {\n"
" listen 80;\n"
" #server_name kfc.ru kfc-az.com kfc.by *.kfc.by *.kfc.ru *.kfc-az.com staging.website.kfc.digital staging.kfc.digital;\n"
" server_name www.kfc.by kfc.by www.m.kfc.by m.kfc.by in.kfc.by m.in.kfc.by admin.kfc.by www.kfc-az.com kfc-az.com www.m.kfc-az.com m.kfc-az.com in.kfc-az.com m.in.kfc-az.com admin.kfc-az.com feedback.kfc.ru mgsd.kfc.ru staging.website.kfc.digital kfc.ru www.kfc.ru fz.kfc.ru;\n"
" set $wallarm_instance $kfc_wallarm_instance;\n"
" wallarm_instance $wallarm_instance;\n"
" wallarm_mode $kfc_block;\n"
" wallarm_mode_allow_override off;\n"
" wallarm_process_time_limit_block off;\n"
" proxy_ssl_server_name on;\n"
" proxy_ssl_name $host;\n"
" include ssl.conf;\n"
" include error.conf;\n"
" include count.conf;\n"
" set_real_ip_from 10.3.52.32/27;\n"
" real_ip_header X-Real-IP;\n"
" real_ip_recursive on;\n"
" ssl_session_tickets on;\n\n"
" location / {\n"
" wallarm_parse_response off;\n"
" proxy_pass https://$kfc_upstream;\n"
" include proxy.conf;\n"
" #proxy_ssl_protocols TLSv1.2;\n"
" #proxy_ssl_ciphers RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS:!DH:!DHE;\n\n"
" }\n"
" location /fz/Telerik.Web.UI.WebResource.axd {\n"
" wallarm_process_time_limit 10000;\n"
" wallarm_parse_response off;\n"
" proxy_pass https://$kfc_upstream;\n"
" include proxy.conf;\n"
" #proxy_ssl_protocols TLSv1.2;\n"
" #proxy_ssl_ciphers RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS:!DH:!DHE;\n\n"
" }\n"
" location /svc/Telerik.Web.UI.WebResource.axd {\n"
" wallarm_process_time_limit 10000;\n"
" wallarm_parse_response off;\n"
" proxy_pass https://$kfc_upstream;\n"
" include proxy.conf;\n"
" #proxy_ssl_protocols TLSv1.2;\n"
" #proxy_ssl_ciphers RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS:!DH:!DHE;\n\n"
" }\n"
" location /bp {\n"
" proxy_read_timeout 20m;\n"
" wallarm_parse_response off;\n"
" proxy_pass https://$kfc_upstream;\n"
" include proxy.conf;\n"
" #proxy_ssl_protocols TLSv1.2;\n"
" #proxy_ssl_ciphers RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS:!DH:!DHE;\n\n"
" }\n"
" # location /testtest {\n"
" # wallarm_parse_response off;\n"
" # proxy_pass http://gsd_kfc_ru_http;\n"
" # include proxy.conf;\n"
" # }\n\n\n"
" location ~* \\.(js|jpg|png|css|ico|svg|pdf|woff|eot|otf|woff2)$ {\n"
" wallarm_parse_response off;\n"
" proxy_pass https://$kfc_upstream;\n"
" include proxy.conf;\n"
" #proxy_ssl_protocols TLSv1.2;\n"
" #proxy_ssl_ciphers RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS:!DH:!DHE;\n"
" }\n"
" location /api/mqtt/ws {\n"
" proxy_pass https://$kfc_upstream;\n"
" include proxy.conf;\n"
" proxy_set_header Upgrade $http_upgrade;\n"
" proxy_set_header Connection $connection_upgrade;\n"
" #proxy_ssl_protocols TLSv1.2;\n"
" #proxy_ssl_ciphers RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS:!DH:!DHE;\n"
" }\n\n"
"}\n\n"
"# configuration file /etc/nginx/sites-enabled/sberauto.com:\n"
"upstream sberauto_com {\n"
" server 213.219.212.149:443 max_fails=10 fail_timeout=30;\n"
" keepalive 32;\n"
"}\n\n"
"map $http_host $sberauto_wallarm_instance {\n"
" sberauto.com 66501;\n"
" www.sberauto.com 66501;\n"
" api.sberauto.com 66502;\n"
" files.sberauto.com 66503;\n"
" images.sberauto.com 66504;\n"
" default 66501;\n"
"}\n\n\n"
"server {\n"
" listen 80;\n"
" server_name www.sberauto.com sberauto.com api.sberauto.com files.sberauto.com images.sberauto.com;\n"
" server_name *.sberauto.com;\n\n"
" set $wallarm_instance $sberauto_wallarm_instance;\n"
" wallarm_instance $wallarm_instance;\n"
" wallarm_mode $sberauto;\n"
" wallarm_mode_allow_override off;\n\n"
" include ssl.conf;\n"
" include error.conf;\n"
" include count.conf;\n"
" set_real_ip_from 10.3.52.32/27;\n"
" real_ip_header X-Real-IP;\n"
" real_ip_recursive on;\n"
" # ssl_protocols TLSv1.2;\n\n"
" location / {\n"
" proxy_pass https://sberauto_com;\n"
" include proxy.conf;\n"
" }\n\n"
" location ~* \\.(js|jpg|png|css|ico|svg|pdf|woff|eot|otf|woff2)$ {\n"
" wallarm_parse_response off;\n"
" proxy_pass https://sberauto_com;\n"
" include proxy.conf;\n"
" }\n\n"
"}\n\n"
"# configuration file /etc/nginx/sites-enabled/thehrp.ru:\n"
"upstream thehrp {\n"
" server 37.18.116.40:443 max_fails=10 fail_timeout=30;\n"
" keepalive 32;\n"
"}\n\n"
"map $http_host $thehrp_wallarm_instance {\n"
" default 68131;\n"
"}\n\n\n"
"server {\n"
" listen 80;\n"
" server_name *.thehrp.ru thehrp.ru;\n"
" set $wallarm_instance $thehrp_wallarm_instance;\n"
" wallarm_instance $wallarm_instance;\n"
" wallarm_mode $thehrp;\n"
" wallarm_mode_allow_override off;\n\n"
" include ssl.conf;\n"
" include error.conf;\n"
" include count.conf;\n"
" set_real_ip_from 10.3.52.32/27;\n"
" real_ip_header X-Real-IP;\n"
" real_ip_recursive on;\n\n"
" location / {\n"
" proxy_pass https://thehrp;\n"
" include proxy.conf;\n"
" }\n\n"
" location ~* \\.(js|jpg|png|css|ico|svg|pdf|woff|eot|otf|woff2)$ {\n"
" wallarm_parse_response off;\n"
" proxy_pass https://thehrp;\n"
" include proxy.conf;\n"
" }\n\n"
"}\n\n")
matches = re.finditer(regex, test_str, re.MULTILINE)
for matchNum, match in enumerate(matches, start=1):
print ("Match {matchNum} was found at {start}-{end}: {match}".format(matchNum = matchNum, start = match.start(), end = match.end(), match = match.group()))
for groupNum in range(0, len(match.groups())):
groupNum = groupNum + 1
print ("Group {groupNum} found at {start}-{end}: {group}".format(groupNum = groupNum, start = match.start(groupNum), end = match.end(groupNum), group = match.group(groupNum)))
# Note: for Python 2.7 compatibility, use ur"" to prefix the regex and u"" to prefix the test string and substitution.
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Python, please visit: https://docs.python.org/3/library/re.html