LINUX.ORG.RU

Очевидно, что отключить сервер от интернетов, ибо спрашиваешь ты нонсенс.

beastie ★★★★★
()

Кури теорию. Подсказка: необходимо прописать default vhost с тем, что тебе нужно. Подозреваю что тебе нужно выдавать 403 Forbidden

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

гуглил но не помогло
у меня nginx+apache
/etc/apache2/sites-available/000-default.conf
/etc/apache2/sites-available/default-ssl.conf
эти не срабатывают
/etc/apache2/apache2.conf тоже не помогло

пробовал убрать proxy_pass в /etc/nginx/conf.d/ип.conf но перестает работать некоторые сайты

kommersant ★★
() автор топика
Ответ на: комментарий от kommersant

Hint: в apache (и в nginx) порядок определения vhosts играет роль.

В apache, если ни один другой по имени не подошёл, используется последний.

В nginx, наоборрот первый. (В добавок там пару лет назад добавили default флаг, но это больше косметика.)

(Надеюсь не попутал за давностью лет.)

Т.е. catch-all vhost (default) может иметь любой server_name, главное, в каком месте конфига он расположен.

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 2)
Ответ на: комментарий от beastie

/etc/nginx/conf.d/ip.conf тут конфиг с default
добавляю return 444;
по ип не открывает, но часть сайтов перестает работать, не все а часть
убунту+панель vesta

kommersant ★★
() автор топика
Ответ на: комментарий от beastie

cat /etc/nginx/conf.d/ip.conf

server {
listen ip:80 default;
server_name _;
access_log /var/log/nginx/ip.log main;
location / {
proxy_pass http://ip:8080;
}

#return 444;
}

server {
listen ip:443;
server_name _;
ssl on;
ssl_certificate /home/admin/conf/web/ssl..pem;
ssl_certificate_key /home/admin/conf/web/ssl..key;
access_log /dev/null;
error_log /dev/null;
return 444;
}

для https вроде работает без проблем, а для 80 порта отваливается часть сайтов

kommersant ★★
() автор топика
Ответ на: комментарий от kommersant
# catch-all vhost
server {
    listen ip:80 default;
    server_name _;
    return 403; 
}

# actual vhost
server {
    listen ip:80;
    server_name example.com;
    access_log /var/log/nginx/ip.log main;
    location / {
        proxy_pass http://ip:8080;
    }
}

# and so on ...
beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 1)
Ответ на: комментарий от beastie

Хотя, канонично правильно было бы сделать redirect из catch-all на актуальный сайт. E.g.:

# catch-all vhost
server {
    listen ip:80 default;
    server_name _;
    return 301 http://example.com$request_uri; 
}
# …

beastie ★★★★★
()
Ответ на: комментарий от beastie

а как быть с апачем?
без https работает
<VirtualHost ip:8080>
ServerName default
Redirect 403 /
</VirtualHost>


для https не работает
пробовал так
<VirtualHost ip:8443>
ServerName default
Redirect 403 /
</VirtualHost>

kommersant ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.