Удалить страницу приветствия nginx по умолчанию, когда доступ напрямую из ip-адреса
На моем сервере ubuntu я устанавливаю nginx и настраиваю виртуальный хост, используя эту статью.
https://www.digitalocean.com/community/articles/how-to-set-up-nginx-virtual-hosts-server-blocks-on-ubuntu-12-04-lts--3
Доменное имя виртуального хоста похоже на www.example.com. Когда я перехожу на сайт www.example.com, я вижу свою страницу индекса приложений. Однако, когда я перехожу к реальному ip-адресу, я все еще вижу страницу приветствия nginx. Что я могу сделать, чтобы удалить эту страницу приветствия или указать на www.example.com, если кто-то использует ip-адрес для доступа к моему сайту?
Я установил запись A, чтобы указать ip xxx.xxx.xxx.xxx на www.example.com.
Ответы
Ответ 1
Я думаю, что при первом создании nginx он поставляется с виртуальным хостом по умолчанию. Вы пытались удалить это? Вы пытались удалить символическую ссылку?
Третий вариант - добавить "запретить все"; на месте/виртуального хоста по умолчанию.
Я не совсем уверен, что это сработает, и я не могу проверить его прямо сейчас. Если вышеуказанное не работает, попробуйте это: http://nginx.org/en/docs/http/request_processing.html#how_to_prevent_undefined_server_names
http://your-server-ip/
- это запрос с именем сервера undefined. Вы можете заблокировать его с помощью:
server {
listen 80;
server_name "";
return 444;
}
Ответ 2
Вам нужно удалить файл default
, расположенный в /etc/nginx/sites-enabled
:
rm /etc/nginx/sites-enabled/default
Затем перезапустите nginx:
service nginx reload
Ответ 3
Если вы удалили default
под /etc/nginx/sites-available
и перезапустили nginx, а страница приветствия все еще отображается, посмотрите, есть ли default.conf
в разделе /etc/nginx/conf.d
и удалите его, а затем перезапустите nginx.
Ответ 4
Настройка на
server {
listen 80;
server_name xxxx;
return 444;
}
Я получаю 502 для всех URI, включая URL-адрес моего приложения.
Я не нашел папку sites_enabled
в /etc/nginx
, вместо этого мой сайт по умолчанию находится в /usr/share/nginx/html
Поэтому я создаю еще одну пустую страницу, расположенную в
/usr/share/nginx/html/blank
создать пустой index.html
# echo >> index.html
затем отредактируйте файл default.conf
location / {
root /usr/share/nginx/html/blank;
index index.html ;
}
тогда домашняя страница становится пустой, скрывая информацию nginx.
Кстати, если вы удалите
location / {
root /usr/share/nginx/html/blank;
index index.html ;
}
или установить
location / {
try_files $uri $uri/ = 404;
}
Вы получите 404 на домашней странице, но показывает "версию Nginx", что не очень хорошо.
Ответ 5
Расположение (страница приветствия nginx по умолчанию) в Ubuntu:
/var/www/html
Вы можете найти его там и отредактировать.
примечание: разные дистрибутивы файлов nginx имеют разные местоположения по умолчанию.