অনেক ভার্চুয়াল সার্ভার সহ আমার একটি ওয়েব সার্ভার রয়েছে। যার মধ্যে ১ টি এসএসএল। সমস্যাটি হ'ল, এসএসএলের জন্য কোনও ক্যাচল সার্ভার ব্লক শোনার জন্য নয়, অন্য সাইটগুলিতে কোনও https অনুরোধটি 1 এসএসএল ব্লক দ্বারা পরিবেশন করা হয়েছে।
আমার কনফিগারেশনটি মূলত: এরকম দেখাচ্ছে:
# the catch all
server {
listen 80 default;
# I could add this, but since I have no default cert, I cannot enable SSL,
# and this listen ends up doing nothing (apparently).
# listen 443;
server_name _;
# ...
}
# some server
server {
listen 80;
server_name server1.com;
# ...
}
# some other server ...
server {
listen 80;
server_name server2.com;
# ...
}
# ... and it's https equivalent
server {
listen 443;
ssl on;
server_name server2.com;
# ...
}
এখন 443 এর জন্য কোনও ডিফল্ট শ্রোতা নেই, এই জাতীয় অনুরোধটি https ব্লকটির https://server1.com
দ্বারা পরিবেশন করা হবে server2.com
। এই জন্য যুক্তিবিজ্ঞান অনুসরণ server_name
মধ্যে ডক্স।
যদি কোনও মিল না থাকে তবে কনফিগারেশন ফাইলে একটি সার্ভার {...} ব্লক নিম্নলিখিত ক্রমের ভিত্তিতে ব্যবহার করা হবে:
- [ডিফল্ট | ডিফল্ট_সেসভার] হিসাবে চিহ্নিত একটি মিলে শোনা নির্দেশিকা সহ সার্ভার ব্লক
- মিলে শোনার নির্দেশাবলী সহ প্রথম সার্ভার ব্লক (বা অন্তর্ভুক্ত শোনার 80%)
এই সমস্যার জন্য পছন্দসই সমাধান কী? আমি কীভাবে আমার সমস্ত সার্ভার ব্লক ধরার জন্য ডামি সার্টিফিকেট স্থাপন করতে পারি যাতে আমি 443-এ শুনতে পারি এবং খারাপ অনুরোধগুলি পরিচালনা করতে পারি? এমন কোনও প্যারামিটার আছে যা সম্পর্কে আমি অবগত নই যা একটি সঠিক হোস্টনামের সাথে ম্যাচ জোর করে server
?