আমরা আমাদের ওয়েব অ্যাপ্লিকেশন সার্ভারে বিপরীত প্রক্সি হিসাবে 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ব্লকের মধ্যে সঠিক কনফিগারেশনটি রাখার কোনও উপায় বের করতে না পারি । অ্যাপাচি ব্যবহার করার সময় আমাদের কাছে এই একই সমস্যা ছিল না, তাই আমি আশা করি যে এখানে এমন কিছু সেটিংস কাজ করবে যা এখানে কাজ করবে।