[Nginx] 500 ERROR 커스텀 페이지 지정하기

2024. 3. 21. 17:04·Linux
728x90

안녕하세요. 

 

웹 서버 정적 처리를 NGINX에 Build파일로 모두 가도록 구성되어있습니다.

동적 처리는 test.hello.com/pay 처럼 경로에 따라 서비스가 달라집니다.

 

문제는 반영 과정에서 웹 서버 이중화 구조로 반영중인 서버로 인입이 됩니다.

F/W → WAF → L4(VIP) → WEB(Nginx) 구조로 L4에서는 Nginx를 내리기 전까지 인입됩니다.
하지만 내릴 수 없는 이유는 다른 웹 서비스도 운영 중이기 때문입니다.

 

그래서 반영 시 다른 에러(404, 405 등)들은 Build파일에 있지만 반영하면서 Build를 지우고 다시 넣어야 하는 과정에서

파일을 못찾는 경우 Nginx에서 처리해주도록 하기 위해 에러페이지를 커스텀 페이지로 지정하게 되었다.

 

정리하면 너무 좋지 않은 아키텍처입니다.

이 글은 어쩔수 없는 사정이 있어 이렇게 구성되어 대처방안을 찾아 사용하고 있지만 정말 비비비추천하는 설계구조입니다.

 

500 ERROR 페이지 설정

클라이언트의 요청이 들어오면 locathon / 를 확인하고 build를 찾습니다.

만약 파일이 없다면 try_file 지시문이 실행되면서 index.html을 찾습니다.

지정된 경로에도 파일이 없으면 500오류를 반환합니다.

500오류가 반환되면 error_page 500 /50x.html 이 실행되고 클라이언트에게 /50x.html 페이지를 제공합니다.

그러면 /50x.html 의 기본경로에있는 파일 50x.html파일이 실행됩니다.

server{
  error_page 500 /50x.html;
  location = /50x.html {
      root  /appstore/webserver/nginx_test/html/;
    }

   location / {
        root /appstore/webserver/nginx_test/WEB/build;
        index index.html;
        try_files $uri /index.html =500;
    }
    # ... 생략
}

 

50x.html 파일 업로드

/appstore/webserver/nginx_tmonet/html/ 경로에는 50x.html 의 파일만 남기고 지우세요.

나머지 오류 코드들은 소스코드에서 처리하도록 개발되어 굳이 사용하지 않았습니다.

$ cd 업로드경로
$ mv 50x.html /appstore/webserver/nginx_tmonet/html/
$ ls -l /appstore/webserver/nginx_tmonet/html/

 

 

728x90

'Linux' 카테고리의 다른 글

Openssl 지원 버전 확인하기  (0) 2024.04.11
springframework [/WEB-INF/spring/root-context.xml] 에러  (0) 2024.04.03
SU 명령어 사용 가능 그룹 제한 하는 방법  (0) 2024.03.19
VPN Tunneling 구간 SSH timeout 증상 (3handshake)  (0) 2024.03.18
[Linux] IBM X3550 M4 서버 CentOS 재 설치  (0) 2024.03.14
'Linux' 카테고리의 다른 글
  • Openssl 지원 버전 확인하기
  • springframework [/WEB-INF/spring/root-context.xml] 에러
  • SU 명령어 사용 가능 그룹 제한 하는 방법
  • VPN Tunneling 구간 SSH timeout 증상 (3handshake)
정주원
정주원
개인블로그
  • 정주원
    Joon.eng
    정주원
  • 전체
    오늘
    어제
    • 분류 전체보기 (83)
      • Linux (43)
      • Windows (0)
      • Network (5)
      • Database (0)
      • Cloud (23)
      • Docker (3)
      • Ansible (2)
      • Language (1)
      • Etc (5)
  • 블로그 메뉴

    • 링크

      • GITLAB(woni)
    • 공지사항

    • 인기 글

    • hELLO· Designed By정상우.v4.10.0
    정주원
    [Nginx] 500 ERROR 커스텀 페이지 지정하기
    상단으로

    티스토리툴바