Архив рубрики: www

web-cканнеры

WhatWeb. Официальный сайт https://whatweb.net

WhatWeb is a next generation web scanner.

WhatWeb recognises web technologies including content management systems (CMS), blogging platforms, statistic/analytics packages, JavaScript libraries, web servers, and embedded devices.

WhatWeb has over 1000 plugins, each to recognise something different. WhatWeb also identifies version numbers, email addresses, account IDs, web framework modules, SQL errors, and more.

Читать далее

[nginx] proxy_pass и hostname

Если хотите, что бы proxy_pass правильно передавал hostname, нужно дополнительно это указать среди проксируемых заголовков:

proxy_pass       http://upstream;
proxy_set_header Host            $host;

В противном случае nginx будет выставлять имя hostname по имени апстрима.

[nginx] ssl + safari (chrome) = exited on signal 11

Если при использовании браузеров safari или chrome страничка не открывается, а в логах nginx’a

2014/03/26 01:53:33 [alert] 27385#0: worker process 24250 exited on signal 11
2014/03/26 01:53:33 [alert] 27385#0: worker process 24260 exited on signal 11
2014/03/26 01:53:34 [alert] 27385#0: worker process 24261 exited on signal 11

То всему виной отсутствие строки (просто добавьте её)

ssl_session_cache    shared:SSL:10m;

в конфиге nginx’a. Она позволяет «шарить» кеш между всеми
worker’ами nginx’a.

[nginx] Лимитируем по условию

Здесь буду писать о разного рода не стандартных ограничениях и как их решать.

1) Ограничение по user-agent’y:

nginx.conf:

http {
...
   map $http_user_agent $limit_bots {
      default '';
      ~*(yandex|msnbot|yahoo) $binary_remote_addr;
   }
   limit_req_zone $limit_bots zone=bots:10m rate=40r/m;
...
}

vhost.conf: Читать далее

[nginx] ссылки на location’ы

Информация из wiki (nginx.org):

Префикс «@» задаёт именованный location. Такой location не используется при обычной обработке запросов, а предназначен только для перенаправления в него запросов. Такие location’ы не могут быть вложенными и не могут содержать вложенные location’ы.

К чему это я? А к тому, что можно создать внутренний location, а потом на него просто ссылаться, не переписывая одни и те же параметры в каждом из нужных location’ов. Покажу это на примере.

Читать далее

[nginx] https proxy

Нашёл в рассылке по nginx: правильное проксирование https.

server {
   listen 80;
   listen 443 ssl;
   server_name .site.com;
   ssl_certificate /etc/nginx/domain.com.crt;
   ssl_certificate_key /etc/nginx/domain.com.key;
   ssl_session_cache  builtin:1000  shared:SSL:10m;
   ssl_ciphers EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:EECDH+RC4:RSA+RC4:!MD5;
   ssl_prefer_server_ciphers on;
   ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
   ...
   location / {
      proxy_pass http://127.0.0.1:8080;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $remote_addr;
      proxy_set_header HTTPS $https;
   }
}

А можно проксировать через haproxy, используя протокол TCP вместо HTTP.