Nginx 설정 오류 페이지

404 페이지 가 무엇 입 니까?
만약 에 우연히 사이트 에 문제 가 생 겼 거나 사용자 가 존재 하지 않 는 페이지 를 방문 하려 고 할 때 서버 는 코드 가 404 인 오류 정 보 를 되 돌려 줍 니 다. 이때 해당 페이지 는 404 페이지 입 니 다.404 페이지 의 기본 내용 은 구체 적 인 서버 와 관련 이 있 습 니 다.배경 에 NGINX 서버 를 사용한다 면 404 페이지 의 내용 은 다음 과 같 습 니 다.
404 Not Found
nginx/0.8.6
 
404 페이지 를 사용자 정의 하 는 이 유 는 무엇 입 니까?
방문 할 때 위의 404 오류 페이지 를 만 났 습 니 다. 저 는 99% (조사 되 지 않 고 데이터 로 추정) 의 사용자 가 페이지 를 끄 고 사용 자 는 이렇게 조용히 빠 져 나 갈 것 이 라 고 생각 합 니 다.만약 이때 예 쁜 페이지 가 사용자 가 가 고 싶 은 곳 으로 안내 할 수 있다 면 반드시 사용 자 를 붙 잡 을 수 있 을 것 이다.따라서 모든 사 이 트 는 자신의 404 페이지 를 사용자 정의 해 야 한다.
NGINX 에서 404 페이지 를 사용자 정의 하 는 방법
IIS 와 APACHE 에서 404 페이지 를 사용자 정의 한 경험 소개 글 이 이미 매우 많 습 니 다. NGINX 는 아직 적 습 니 다. 공교롭게도 제 서버 몇 대 는 모두 NGINX 입 니 다. 자신의 문 제 를 해결 하기 위해 깊이 있 는 연 구 를 했 습 니 다.NGINX 에서 사용자 정의 404 페이지 를 설정 하 는 것 이 가능 하고 간단 하 며 다음 과 같은 몇 단계 만 있 으 면 된다 는 연구 결과 가 나 왔 다.
1. 자신의 404. html 페이지 만 들 기
2. nginx. conf 를 http 정의 영역 에 추가 합 니 다.
fastcgi_intercept_errors on;
3. nginx. conf 를 server 영역 에 추가 합 니 다.
error_page 404 = /404.html
4. nginx. conf 의 정확성 테스트:
/opt/nginx/sbin/nginx –t
정확 하 다 면 다음 과 같은 정 보 를 표시 해 야 합 니 다.
the configuration file /opt/nginx/conf/nginx.conf syntax is okconfiguration file /opt/nginx/conf/nginx.conf test is successful
5. nginx 다시 시작
  • kill -HUP  `cat /opt/nginx/nginx.pid `

  •  
    프로필 인 스 턴 스:
    ……
    http{include       mime.types;default_type  application/octet-stream;
    charset  gb2312;server_names_hash_bucket_size 128;client_header_buffer_size 32k;large_client_header_buffers 4 32k;client_max_body_size 8m;sendfile on;tcp_nopush     on;
    keepalive_timeout 60;
    tcp_nodelay on;
    fastcgi_connect_timeout 300;fastcgi_send_timeout 300;fastcgi_read_timeout 300;fastcgi_buffer_size 64k;fastcgi_buffers 4 64k;fastcgi_busy_buffers_size 128k;fastcgi_temp_file_write_size 128k;fastcgi_intercept_errors on;
    gzip on;gzip_min_length  1k;gzip_buffers     4 16k;gzip_http_version 1.0;gzip_comp_level 2;gzip_types       text/plain application/x-javascript text/css application/xml;gzip_vary on;
    #limit_zone  crawler  $binary_remote_addr  10m;
      #65 의 설정 정보      server{   listen       80;   server_name  www.65.la 65.la *.65.la;   index index.html index.htm index.php;   root  /opt/www/65;   location ~ .*\.(php|php5)?$   {          #fastcgi_pass  unix:/tmp/php-cgi.sock;     fastcgi_pass  127.0.0.1:9000;     fastcgi_index index.php;     include fcgi.conf;   }   error_page  404 = /404.html;
    \ # 502 등의 오 류 는 같은 방법 으로 설정 할 수 있 습 니 다.   error_page   500 502 503 504 = /50x.html;   ocation = /50x.html {            root   html;        }   log_format  65  ‘$remote_addr – $remote_user [$time_local] "$request" ‘              ‘$status $body_bytes_sent "$http_referer" ‘              ‘"$http_user_agent" $http_x_forwarded_for’;   access_log  /opt/nginx/logs/65.log  65;}
    ……
     
     
    주의사항:
    1. fastcgi intercept errors on 을 추가 해 야 합 니 다. 이 옵션 이 설정 되 어 있 지 않 으 면 404. html 를 만 들 고 error page 를 설정 해도 효과 가 없습니다.
    fastcgi_intercept_errors
      : fastcgi_intercept_errors on|off   : fastcgi_intercept_errors off     : http, server, location      ,nginx      404    ,          on,nginx    404     。        ,       fastcgi_intercept_errors on,nginx   404     。 nginx 404              fastcgi_intercept_errors on,        error_page    (        404  )

    2. 일 을 절약 하거나 홈 페이지 의 가중치 를 높이 는 목적 으로 홈 페이지 를 404 오류 페이지 로 지정 하지 말고 다른 방법 으로 홈 페이지 로 이동 하지 마 세 요.
    3. 사용자 정의 404 페이지 는 512 바이트 이상 이 어야 합 니 다. 그렇지 않 으 면 IE 기본 404 페이지 가 나타 날 수 있 습 니 다. 예 를 들 어 404. html 를 사용자 정의 했다 고 가정 하면 크기 는 11 바이트 (내용: 404 오류) 에 불과 합 니 다. 존재 하지 않 는 두 개의 주소 로 접근 합 니 다.
    http://www.65.la/no 사용자 정의 404. html 를 호출 합 니 다.
    http://www.65.la/notfound: IE 기본 404 페이지 를 호출 합 니 다.

    좋은 웹페이지 즐겨찾기