2015-11-06 15 views
5

यदि ग्राहक समाप्त हो चुके प्रमाणपत्र का चयन करेगा, तो nginx सर्वर अंतर्निहित त्रुटि पृष्ठ दिखाएगा।"एसएसएल प्रमाणपत्र त्रुटि" के लिए कस्टम nginx त्रुटि पृष्ठ

<html> 
<head><title>400 The SSL certificate error</title></head> 
<body bgcolor="white"> 
<center><h1>400 Bad Request</h1></center> 
<center>The SSL certificate error</center> 
<hr><center>nginx</center> 
</body> 
</html> 

मैं त्रुटि को कैसे पकड़ सकता हूं और क्लाइंट को एक अलग पृष्ठ दिखा सकता हूं?

+0

क्या आपने http://nginx.org/en/docs/http/ngx_http_ssl_module.html#errors दस्तावेज़ों की जांच की है? –

+0

धन्यवाद। मैंने कोड 400 को संसाधित किया, और वास्तव में अन्य त्रुटि कोडों को संभालना आवश्यक था। – user3138912

उत्तर

4

देखें करने के लिए http://nginx.org/en/docs/http/ngx_http_ssl_module.html#errors

कोड 400 काम नहीं करेगा के लिए एक त्रुटि पृष्ठ को परिभाषित करें। कामकाजी दृष्टिकोण

server { 
    ... 
    error_page 495 496 497 https://www.google.com; 
    ... 
} 

तो कोई उपयोगकर्ता मान्य प्रमाणपत्र सबमिट करने में विफल रहा google.com पर रीडायरेक्ट किया जाएगा। यह काम करेगा जब ssl_verify_clienton या optional पर सेट किया गया है।


एक और दृष्टिकोण केवल जब $ssl_verify_clientoptional के लिए सेट है, तो आप पुनः निर्देशित के लिए $ssl_client_verify इस्तेमाल कर सकते हैं काम करता है।

if ($ssl_client_verify = NONE) { 
    return 303 https://www.google.com; 
} 

$ssl_verify_clienton पर सेट किया जाता है, यह काम नहीं करेगा।

0

एक तरीका है कि आप ग्राहक को एक अलग पृष्ठ दिखा सकते हैं। जिस तरह से आप यह करते हैं मूलतः एक ही है, जैसा कि ऊपर कहा गया है, लेकिन इसके बजाय आप एक पृष्ठ आपके द्वारा बनाए गए करने के लिए गूगल वेबसाइट बदलने के लिए:

server { 
    ... 
    error_page 495 496 497 /error400.html; 
    ... 
} 

बस सब आप प्रत्येक सर्वर उदाहरण में कस्टम पेज कर रहे हैं शामिल करना न भूलें।

संबंधित मुद्दे