हम अपने वेब एप्लिकेशन सर्वर के लिए Nginx को एक रिवर्स प्रॉक्सी के रूप में उपयोग करते हैं। Nginx हमारे एसएसएल को संभालता है और इस तरह से अन्यथा केवल एक रिवर्स प्रॉक्सी के रूप में कार्य करता है।
हम अनुरोधों के लिए एक वैध ग्राहक प्रमाणपत्र की आवश्यकता चाहते हैं, /jsonrpc
लेकिन उन्हें कहीं और की आवश्यकता नहीं है। सबसे अच्छा तरीका हमने पाया है
server {
listen *:443 ssl;
ssl on;
ssl_certificate /etc/nginx/server.crt;
ssl_certificate_key /etc/nginx/server.key;
ssl_client_certificate /etc/nginx/client-ca.crt;
ssl_verify_client optional;
location /jsonrpc {
if ($ssl_client_verify != "SUCCESS") { return 403; }
proxy_pass http://localhost:8282/jsonrpc-api;
proxy_read_timeout 90;
proxy_redirect http://localhost/ $scheme://$host:$server_port/;
}
}
यह अधिकांश ब्राउज़रों के लिए ठीक काम करता है, लेकिन सफारी और क्रोम-ऑन-एंड्रॉइड जैसे कुछ ब्राउज़र उपयोगकर्ता को क्लाइंट सर्टिफिकेट प्रदान करने के लिए संकेत देते हैं, चाहे वे जिस भी वेबसाइट पर जाएं।
हम अपने /jsonrpc
स्थान को छोड़कर हर जगह क्लाइंट सर्टिफिकेट की परवाह करने के लिए नगनेक्स कैसे प्राप्त करते हैं ?
server
ब्लॉक में सभी सही कॉन्फ़िगरेशन को रखने का तरीका नहीं निकाल सकते हैं तो हम शायद यही करेंगे । अपाचे का उपयोग करते समय हमारे पास यही मुद्दा नहीं था, इसलिए मुझे उम्मीद थी कि यहां कुछ सेटिंग होगी जो यहां काम करेगी।