2011-10-17 30 views
39

Có thể phục vụ trang lỗi "Cổng xấu" tùy chỉnh trong Nginx không?Trang cổng tùy chỉnh không hợp lệ với Nginx

Tương tự như có các trang 404 tùy chỉnh.

+0

Hãy thử [câu trả lời này] (https://serverfault.com/a/194301) (chỉ hoạt động cho tôi trên nginx/1.2.1) –

Trả lời

29

Điều này tương tự như thiết lập các trang 404 tùy chỉnh. Đây là những gì tôi có.

#site-wide error pages 
error_page 404 /404.html; 
error_page 500 502 503 504 /500.html; 
+0

Cảm ơn bạn! Tôi sẽ cố gắng trả lời của bạn và trở lại để cập nhật các chủ đề – deb

+2

Điều này đã không làm việc cho tôi, tôi tự hỏi nếu hành vi đã thay đổi trong phiên bản mới hơn của nginx. Tôi đã thử [các hướng dẫn hơi khác nhau] (http://www.ruby-forum.com/topic/189334) và làm cho nó hoạt động. – BigglesZX

+1

Đã xác nhận. Điều đó không hiệu quả.Đây không phải là câu trả lời đúng. – PKHunter

38

Có ba phần phải được đặt để trang lỗi tùy chỉnh của bạn hiển thị thay vì lỗi "Lỗi cổng" chung.

  1. Bạn phải tạo tệp html có tên là "500.html" và đặt nó vào thư mục gốc. Trong trường hợp Rails chạy sau Nginx, điều này có nghĩa là đặt nó ở chế độ công cộng/500.html.

  2. Bạn phải có một dòng trong tập tin cấu hình của bạn mà chỉ ít nhất là 502 lỗi đến trang 500.html như thế này:

    error_page 502 /500.html; 
    
  3. Bạn phải có một khối vị trí cho /500.html trong tệp cấu hình của bạn. Nếu gốc của bạn đã được xác định, khối này có thể trống. Tuy nhiên, khối này phải tồn tại.

    location /500.html{ 
    } 
    
+2

Cảm ơn bạn. Điều này có ích. – PKHunter

+2

Đây phải là câu trả lời được chấp nhận, tôi có thể xác nhận nó đã làm việc cho tôi và tôi có thể thực hiện một phản hồi lỗi 502 tùy chỉnh theo các bước chính xác ở trên. Câu trả lời được chấp nhận hiện tại là gây hiểu nhầm và không hoạt động. –

+1

Ngọt ngào. Bạn cũng có thể chỉ định 'root' trong khối vị trí nếu bạn muốn trang lỗi xuất hiện ở một vị trí khác. –

2

Có nó có thể loại

này trong terminal của bạn

cd /etc/nginx 

sudo nano nginx.conf 

và dưới http thêm những dòng này

error_page 500 Path_to_your_custom_error_page; 
    error_page 503 Path_to_your_custom_error_page; 
    error_page 504 Path_to_your_custom_error_page; 

Bây giờ khởi động lại nginx bằng cách gõ lệnh này :

sudo service nginx restart 

Bingo bây giờ bạn có thể thấy thông báo lỗi tùy chỉnh về lỗi cổng

0

bằng debian (9,3 căng trên thực tế) tôi đã bước sau:

  • tạo /var/www/html/502.html với nội dung cho trang 502 lỗi

  • chỉnh sửa /etc/nginx/sites-enabled/mywebsite.conf

để nó trông giống như thế này:

server { 
    listen 80; listen [::]:80; 
    server_name www.mywebsite.com; 

    error_page 502 /502.html; 
    location /502.html { 
     root /var/www/html; 
    } 
} 
  • sau đó khởi động lại nginx sử dụng service nginx restart
Các vấn đề liên quan