Nginx. 98: Address already in use

Лікуємо дивний баг нжинкса, при якому він не розказує нікому про бійцівський клюб.


1. Маємо отаку помилку при спробі запустити Nginx:
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)

2. Виконуємо в консолі:
sudo fuser -k 80/tcp

3. Перезапускаємо сервіс:
service nginx start


Nginx. Авторизація по парольчику для зовнішніх IP

Не допустимо супостата до комісарського тіла!


Если вам нужно исключить для определёных IP auth_basic, то эта статья для вас. Замечу, что данный метод позволяет исключить только по IP, а не по другим признакам. Для этого в nginx’e есть модуль satisfy. Ниже выдержка из документации:

синтаксис: satisfy all | any;
умолчание: satisfy all;
контекст: http, server, location

Разрешает доступ, если оба (all) или хотя бы один (any) из модулей ngx_http_access_module и ngx_http_auth_basic_module разрешают доступ.

Пример реализации:

server{
listen *:80;
listen *:443 default ssl;
server_name domain.com
access_log off;
ssl on;
ssl_certificate /etc/nginx/ssl2011.crt;
ssl_certificate_key /etc/nginx/ssl2011.key;
root /opt/www;
satisfy any;
allow 10.10.10.10;
allow 127.0.0.1;
deny all;
auth_basic "closed site";
auth_basic_user_file /usr/local/.htpasswd;
}

Если зайти с хоста 10.10.10.10 то запрос пароля выводится не будет и нас пустит.


Пишуть люди