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

Как правильно в nginx прописать конфиг для кастомной error_page странички?

Всем привет
У меня есть кастомная error_page страничка:
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  <link rel='stylesheet' type='text/css' href="../static/css/fonts.css">
  <link rel='stylesheet' type='text/css' href="../static/css/styles.css">
</head>
<body>
  <div class="top">
      <img src="../static/images/logo.png" width="250" height="60" alt="logo">
    </div>
    <div class="error">Thres is internal server error. Please write us</div>
    <div class="footer">
      </div>
    </div>
</body
</html>


есть также конфиг в nginx:
server {
    listen 80;
    server_name awsome_domain;
    recursive_error_pages on;
    access_log /var/log/nginx/awsome_domain.log;
    error_log /var/log/nginx/awsome_domain.log;

    error_page 500 501 502 503 504 /50x.html;
    location /50x.html {
        root /var/www/awsome_domain/;
    }
    location / {
        proxy_pass         http://127.0.0.1:88888/;
        proxy_redirect     off;
        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;
    }
}


роняю бэкенд, запрашиваю главную страничку, отдается error_page но без стилей и шрифтов. Браузер говорит в консиоли при загрузке стилей - 502 ошибка. При этом если я просто фоксом из консоли дергаю 50x.html, то страничка открывается в нужном оформлении и со шрифтами. Подскажите плз где я не туда нажал.
  • Вопрос задан
  • 448 просмотров
Подписаться 2 Оценить 1 комментарий
Решения вопроса 1
@nano_e_t_4 Автор вопроса
все оказалось просто. нужно было прописать root директорию в корне :(. не совсем понятно, почему он не брал ее из локейшена
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Вот так должно сработать:
...
error_page 500 501 502 503 504 = @customerror;

location @customerror {
        root /var/www/awsome_domain/;
        try_files $uri /50x.html = 503;
        #internal;
}
...
Ответ написан
Ваш ответ на вопрос

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

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