У меня есть веб-сервер под управлением nginx. Если я захожу на сайт через Wi-Fi, он загружает сайт. Если я получу доступ к нему через LTE на моем телефоне, он просто покажет по умолчанию «Добро пожаловать в nginx!» страница
Вот конфигурационный файл моего сайта:
server {
listen 80;
listen 443 ssl;
server_name {mysite.com};
root /path/to/public;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php$is_args$args;
include /etc/nginx/conf.d/php-fpm;
}
ssl_certificate /etc/letsencrypt/live/{mysite.com}/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/{mysite.com}/privkey.pem;
}
Это "Добро пожаловать" заставляет меня подозревать, что nginx не читает Host
заголовок в запросе, а ответ - определение виртуального хоста по умолчанию (приветственное сообщение).
Удалите виртуальный хост по умолчанию, на debian должно быть:
rm /etc/nginx/sites-enabled/default
Затем добавьте default_server
к определению vhost вашего сайта:
listen 80 default_server;
listen 443 ssl default_server;
Перезарядка: nginx -s reload
Тест с завитком:
curl -H "Host: mysite.com" mysite.com
curl mysite.com
Первый запрос отправляет заголовок хоста, второй - нет. Оба должны возвращать одно и то же, потому что mysite.com теперь по умолчанию для портов 80 и 443 (один default_server для порта).
Это похоже на метод грубой силы, более разумным способом будет отладка запросов, если все настроено правильно, этого не должно произойти.