Задать вопрос
@alenov
Программист

Как установить страницу по умолчанию в nginx?

Как сделать так, чтобы при входе на site.ru автоматически открывалась страница login.html?

Конфиг:
server {
    listen 443 ssl;
    server_name site.ru;
    include acme;

    location / {
        proxy_pass                          http://localhost:5000;
        proxy_set_header  Host              $http_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;
        proxy_read_timeout                  900;
        client_max_body_size 2000M;
    }
    ssl_certificate /etc/nginx/ssl/site.ru.crt;
    ssl_certificate_key /etc/nginx/ssl/site.ru.key;
    ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers  "RC4:HIGH:!aNULL:!MD5:!kEDH";
    add_header Strict-Transport-Security 'max-age=600';
}

server {
    listen 80;
    server_name site.ru;
    rewrite ^ https://site.ru$request_uri? permanent;
}


Если добавляю в location:
index login.html;
try_files $uri $uri/login.html;


то получаю:
*1 rewrite or internal redirection cycle while internally redirecting to "//login.html/login.html/login.html/login.html/login.htm
l/login.html/login.html/login.html/login.html/login.html/login.html"
  • Вопрос задан
  • 792 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 3
bigton
@bigton
Web-программист
А если просто

index login.html;
try_files $uri $uri/;
Ответ написан
@dodo512
Просто добавить rewrite на нужный адрес.
location / {
    rewrite ^/$ /login.html;
    proxy_pass                          http://localhost:5000;
Ответ написан
Комментировать
@alenov Автор вопроса
Программист
Нашёл причину. Не указал конечный слэш в инструкции, нужно так:
proxy_pass                          http://localhost:5000/;


Всё заработало.
Всем спасибо!
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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