IP-адрес отвечает, но доменное имя нет на моем Raspberry Pi с работающим веб-сервером Nginx.

Вопрос или проблема

Я пытаюсь разместить сайт на своем Raspberry Pi. Когда я хостинг сайт с использованием nginx с именем сервера, равным моему доменному имени, он не отвечает. Однако когда я использую свой публичный IP-адрес, он разрешается на сайт, а доменное имя – нет.

Первое, что я попробовал, это проверить, распространилось ли доменное имя (что и произошло). Я проверил это, используя команду ping на своем доменном имени, которая начала возвращать мой IP-адрес. Я также использовал nslookup, чтобы посмотреть, правильно ли привязано доменное имя, что также вернуло мой IP-адрес. Это означает, что это не должно быть связано с тем, как я привязал доменное имя через A-запись.

Второе, что я попытался сделать, это проверить, может ли это быть проблема в моем браузере. Чтобы проверить это, я очистил DNS на своем устройстве, использовал другое интернет-соединение и даже использовал другое устройство. Все это давало мне ту же ошибку тайм-аута при попытке загрузить веб-страницу через мое доменное имя. Я также попробовал использовать curl для веб-страницы, но это также заняло слишком много времени.

Третье, что я пытался сделать, это проверить, правильный ли у меня файл nginx:

server {
    listen 80;
    server_name cache-app.co.uk www.cache-app.co.uk;

    # Проксировать запросы на фронтенд
    location / {
        proxy_pass http://localhost:5063/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    # Проксировать запросы к API
    location /api/ {
        proxy_pass http://localhost:37364/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Я не думаю, что это было проблемой, поскольку я протестировал это, используя конфигурацию по умолчанию, предоставляемую nginx, изменив только имя сервера на IP-адрес, и он по-прежнему не отвечает.

Четвертое, что я сделал, это проверил журналы доступа, чтобы увидеть, доходят ли мои запросы. При их просмотре видно, что nginx не получает никаких журналов доступа, и в журналах также не отображаются ошибки.

Пятое, что я попробовал, это добавить SSL-сертификат, чтобы я мог использовать HTTPS. Но всякий раз, когда я пытаюсь добавить SSL-сертификат, я получаю такие сообщения (это с сайта Lets debug).

Попытка получить SSL-сертификат
Но я правильно связал свою A-запись, так что не имею представления, что это значит.

Я пытался проверить, нет ли межсетевого экрана, но у меня не активирован ufw, и на роутере я временно отключал межсетевой экран, чтобы увидеть, сработает ли это, но не сработало.

Я буквально не могу придумать ничего другого, я на самом деле сходу с ума.

Брат, такой тупой, лмаф, ХАХАХАХАХАХАХАХА

Ответ или решение

Судя по вашему описанию, у вас уже проделана значительная работа по диагностике проблемы с доступом к вашему веб-сайту на Raspberry Pi под управлением Nginx. Давайте рассмотрим шаги, которые вы могли бы предпринять для устранения проблемы, когда IP-адрес отвечает, а доменное имя — нет.

  1. Проверка DNS: Вы упомянули, что проверяли, правильно ли разрешается ваше доменное имя и что оно возвращает правильный IP-адрес. Однако, важно убедиться, что DNS-сервер, используемый вашими устройствами, правильно обновлен. Вы можете попробовать использовать публичные DNS-серверы, такие как Google (8.8.8.8 и 8.8.4.4) или Cloudflare (1.1.1.1), чтобы исключить проблемы с кэшированием.

  2. Настройка Nginx: Ваш конфигурационный файл Nginx выглядит в целом нормально, но стоит проверить следующее:

    • Убедитесь, что ваш конфигурационный файл правильно загружен. Выполните команду nginx -t для проверки ошибок в конфигурации.
    • Убедитесь, что у вас нет конфликтующих конфигураций, особенно если есть другие файлы в директории /etc/nginx/sites-enabled/.
  3. Порты и доступ: Убедитесь, что ваш Raspberry Pi правильно настраивает порты. Проверьте, что порт 80 открыт:

    sudo netstat -tuln | grep ':80'

    Если сервера нет в списке, значит Nginx не слушает на порту 80.

  4. Проблемы с файрволлом: Хотя вы упомянули, что UFW отключен, также проверьте, нет ли других правил файрволла или фильтров в роутере, которые могут блокировать соединение на порту 80 или 443.

  5. Проблемы с SSL сертификатом: Если вы пытаетесь настроить HTTPS, убедитесь, что вы правильно настроили Nginx для работы с SSL. Также убедитесь, что сертификат действителен и размещен в правильных местах. Вот пример основной конфигурации для SSL:

    server {
       listen 80;
       server_name cache-app.co.uk www.cache-app.co.uk;
       return 301 https://$host$request_uri;
    }
    
    server {
       listen 443 ssl;
       server_name cache-app.co.uk www.cache-app.co.uk;
    
       ssl_certificate /path/to/your/fullchain.pem;
       ssl_certificate_key /path/to/your/privkey.pem;
    
       location / {
           proxy_pass http://localhost:5063/;
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_set_header X-Forwarded-Proto $scheme;
       }
    
       location /api/ {
           proxy_pass http://localhost:37364/;
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_set_header X-Forwarded-Proto $scheme;
       }
    }
  6. Логи и отладка: Проверьте логи Nginx (/var/log/nginx/error.log и /var/log/nginx/access.log) на наличие сообщений об ошибках, которые могут указать на причину, по которой запросы не доходят до вашего сервера.

  7. Тестирование: Попробуйте выполнить curl с флагом -v на ваш домен, чтобы получить более подробную информацию о процессе соединения:

    curl -v http://cache-app.co.uk

Если после выполнения этих шагов проблема все еще не решена, возможно, потребуется более детальное обследование сетевой конфигурации или обращение к вашему хостинг-провайдеру, чтобы исключить другие возможные проблемы.

Оцените материал
Добавить комментарий

Капча загружается...