Назад | Перейти на главную страницу

nginx перенаправляет ip на доменное имя

Я пытаюсь развернуть веб-сайт с помощью nginx и gunicorn. Nginx обслуживает статические файлы и выступает в роли прокси для Gunicorn.

Вот содержимое моего файла / etc / nginx / sites-available / herbop

server {
       listen 80;
       server_name herbop.com;

       location / {
                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;
                proxy_set_header Host $http_host;
                proxy_intercept_errors on;
                proxy_pass http://127.0.0.1:8001;
       }

       location /static/ {
                autoindex on;
                alias /opt/Herbop-Backend/app/static/;
       }
}

server {
       listen 80;
       server_name 51.254.123.234;
       return 301 $scheme://herbop.com$request_uri;
}

В этом случае я получаю бесконечный цикл перенаправления.

Любая идея ?

  • DNS: точка herbop.com используя A запись в 51.254.123.234. (Удалите существующее перенаправление http.) (Примечание: DNS распространяется, иногда для распространения требуется некоторое время.)

  • Попробуйте следующую конфигурацию nginx:

    server {
        listen 80;
        server_name herbop.com;
    
        location /static/ {
            root /opt/Herbop-Backend/app;
        }
    
        location / {
            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;
            proxy_set_header Host $http_host;
            proxy_intercept_errors on;
            proxy_pass http://127.0.0.1:8001;
        }
    }
    
    server {
        listen 80;
        server_name 51.254.123.234;
        return 301 $scheme://herbop.com$request_uri;
    }
    
    • Ноты:

      • ((Если все, что вы хотите сделать, это предоставлять посетителям статические файлы, такие как изображения и т. Д., Которые встроены в ваш * .html, вам не нужно autoindex. "The ngx_http_autoindex_module обрабатывает запросы, заканчивающиеся символом косой черты ('/'), и создает список каталогов. [...] "Насколько я понимаю, вам это не понадобится, поэтому не включайте его.)) ((Не уверен если я правильно понял, и какие у вас статические файлы.))
      • Что касается вашего alias директива: согласно документы: "Когда местоположение соответствует последней части значения директивы:

        location /images/ {
             alias /data/w3/images/;
        }
        

        лучше использовать корень директива вместо ":

        location /images/ {
             root /data/w3;
        }