2016-02-25 21 views
6

Tôi mới làm quen với phát triển back-end. Và tôi thực sự thích viết mã trong nút. Tuy nhiên, có vài điều tôi không thể hiểu được. Tôi liên tục nhận được các lỗi sau:Node.JS Error- process.env.NODE_TLS_REJECT_UNAUTHORIZED. Điều đó có nghĩa là gì?

Error: DEPTH_ZERO_SELF_SIGNED_CERT

tôi cố định nó bằng cách thực hiện đoạn mã sau:

if ('development' == app.get('env')) { 
    console.log("Rejecting node tls"); 
    process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; 
} 

Tôi hiểu chúng tôi đang thiết lập một môi trường. Nhưng, điều này có nghĩa là gì trong một ngôn ngữ đơn giản? Tôi không biết cách giải thích nó cho người khác. Có rất nhiều thông tin onof, làm thế nào để sửa chữa nó, nhưng tôi không thể tìm thấy bất cứ điều gì về những gì hiện này thực sự có nghĩa là.

Ai đó có thể giải thích?

Trả lời

9

Nút bị khiếu nại vì chứng chỉ TLS (SSL) được cấp là tự ký (nghĩa là nó không có cha mẹ - độ sâu là 0). Nó hy vọng sẽ tìm thấy một chứng chỉ được ký bởi một chứng chỉ khác được cài đặt trong hệ điều hành của bạn như là một gốc tin cậy.

"Sửa lỗi" của bạn là tắt Node khỏi từ chối chứng chỉ tự ký bằng cách cho phép BẤT KY chứng chỉ trái phép.

Khắc phục của bạn là không an toàn và không thực sự được thực hiện chút nào, nhưng thường được thực hiện trong quá trình phát triển (không bao giờ được thực hiện trong quá trình sản xuất).

Giải pháp thích hợp nên đặt chứng chỉ tự ký vào cửa hàng gốc đáng tin cậy HOẶC để nhận chứng chỉ phù hợp được ký bởi Tổ chức phát hành chứng chỉ hiện có (máy chủ của bạn đã tin cậy).

Do đó, do đó, việc ghi nhật ký của bạn sẽ bị "Từ chối việc hủy bỏ các chứng chỉ không hợp lệ/không hợp lệ của Nút"

+0

Cảm ơn bạn rất nhiều vì đã chia sẻ điều này. –

+0

Giải thích hữu ích, cảm ơn! –

Các vấn đề liên quan