Задать вопрос
@psopi

Как правильно настроить конфиг Nginx?

У меня проект на React я создал build и теперь надо запустить проект на домене Мой конфиг выглядит так я его не сам писал
server {
    listen 80;  # Порт, на котором будет слушать Nginx
    server_name http://react-cod.ru/;  # Замените на ваш домен или IP-адрес

    root /root/frontend/build;  # Укажите путь к директории с вашими статическими файлами
    index index.html;  # Укажите файл, который будет использоваться по умолчанию

    location / {                                                        
       try_files $uri $uri/ /index.html=404;  # Обработка маршрутов SPA
    }

    location ~ \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ {
        expires 1y;  # Кэширование статических файлов
        access_log off;  # Отключаем логирование доступа к статическим файлам
    }
location = /favicon.ico {
        log_not_found off;  # Отключаем ошибку 404 для favicon
    }

    location = /robots.txt {
        allow all;  # Разрешаем доступ к robots.txt
    }

    error_page 404 /404.html; 
location = /404.html {
        internal;  # Указываем, что эта страница должна быть внутренней
    }

    location ~* \.(html)$ {
        expires -1;  # Отключаем кэширование HTML
    }
}


И при выводе sudo tail -f /var/log/nginx/error.log Выдает такую ошибку
2024/11/12 19:04:53 [error] 21897#21897: *3 rewrite or internal redirection cycle while internally redirecting to "/index.html", client: 212.74.000.000, server: your_domain.com, request: "GET / HTTP/1.1", host: "react-cod.ru"

2024/11/12 19:04:53 [error] 21897#21897: *4 rewrite or internal redirection cycle while internally redirecting to "/index.html", client: 212.74.200.000, server: your_domain.com, request: "GET /favicon.ico HTTP/1.1", host: "react-cod.ru", referrer: "http://react-cod.ru/"
  • Вопрос задан
  • 231 просмотр
Подписаться 1 Простой 15 комментариев
Пригласить эксперта
Ответы на вопрос 1
Afranius
@Afranius
Из говорящих дольше живут те, что говорят меньше.
1. Можно не засорять вывод комментариями.
2. Сервер, на котором крутится твой сайт, должен иметь внешний IP-адрес; если внешний адрес на роутере, нужно настроить проброс портов 80 и 443 на внутренний.
3. Имя домена должно быть ассоциировано с IP-адресом (даже если внутренний) в файле hosts
4. Проверить конфигурацию можно командой nginx -t
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы