मैं अपने बालों को यहां खींच रहा हूं। वेबसाइट्स wix.com, squarespace.com ... आदि; फ्लाई पर वेबसाइटें उत्पन्न कर सकते हैं और लाखों कस्टम डोमेन में से प्रत्येक पर एसएसएल का उपयोग कर सकते हैं।एसएनआई गतिशील प्रमाणपत्र
मैं वही काम करने की कोशिश करता हूं, लेकिन मैं यह नहीं समझ सकता कि वे इसे कैसे करते हैं!
तार्किक समाधान अपाचे पर होगा:
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAlias *
UseCanonicalName Off
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/%0/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/%0/server.key
</VirtualHost></IfModule>
लेकिन जब मैं अपाचे पुनः आरंभ मैं एक त्रुटि मिलती है: SSLCertificateFile: फ़ाइल '/etc/apache2/ssl/%0/server.crt' नहीं है मौजूद है या खाली है
यहां तक कि जब मैं कुछ डमी प्रमाणपत्रों के साथ एक डमी फ़ोल्डर/एसएसएल /% 0/बना देता हूं ... यह अभी भी (गलत) डमी प्रमाण पत्र का उपयोग करता है।
मुझे पता है कि कुछ अपने उच्च घोड़ों पर पाएंगे और चिल्लाएंगे कि आप टीएलएस हैंडशेक से पहले सर्वर का नाम हल नहीं कर सकते हैं। लेकिन इस post और अन्य लोगों के अनुसार:% 0 सर्वर नाम SNI साथ भेजा जाता है क्योंकि mod_vhost_alias साथ हल किया जा सकता है ...
मैं जानता हूँ कि यह काम करता है: एक दूसरा दृष्टिकोण हर कस्टम डोमेन के लिए एक वर्चुअलहोस्ट बनाने के लिए किया जाएगा :
<VirtualHost *:443>
ServerName site111.ca
ServerAlias www.site111.ca
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile "/var/app/s3/ssl/site111.ca/certificate.crt"
SSLCertificateKeyFile "/var/app/s3/ssl/site111.ca/certificate.key"
SSLCertificateChainFile "/var/app/s3/ssl/site111.ca/certificate.chain"
</VirtualHost><VirtualHost *:443>
ServerName site222.ca
ServerAlias www.site222.ca
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile "/var/app/s3/ssl/site222.ca/certificate.crt"
SSLCertificateKeyFile "/var/app/s3/ssl/site222.ca/certificate.key"
SSLCertificateChainFile "/var/app/s3/ssl/site222.ca/certificate.chain"
मैं एक गंदा प्रणाली है जहाँ मैं नए प्रति डोमेन एक आभासी मेजबान जोड़ने बना सकते हैं और हर दिन Eeewwww अपाचे को फिर से लोड ... और फिर से: अपाचे 256 करने के लिए आभासी मेजबान अधिकतम संख्या तय:/
वे यह कैसे करते हैं !? क्या कोई अन्य तकनीक है जो मेरी मदद कर सकती है? Nginx, Nodejs? आपके समय के लिए धन्यवाद।
आपको क्यों लगता है कि यह स्थिर सर्वर कॉन्फ़िगरेशन का हिस्सा बनने की आवश्यकता है? आप एक कॉन्फ़िगरेशन बना सकते हैं जो वाइल्डकार्ड से मेल खाता है और फिर उदाहरण के लिए HTTP_HOST का उपयोग यह तय करने के लिए करें कि किस तरह के संसाधनों को सेवा देना है। साथ ही, आपको क्या लगता है कि वे सिर्फ वाइल्डकार्ड प्रमाणपत्र की बजाय प्रत्येक साइट के लिए एक अलग प्रमाणपत्र का उपयोग करते हैं? –
आपके त्वरित उत्तर @SteffenUllrich के लिए धन्यवाद। क्या आप कृपया अपने विचार पर विस्तार कर सकते हैं? मुझे समझ में नहीं आता ऐप द्वारा एक्सेस किए जाने से पहले HTTPS को हल करने की आवश्यकता है, तो आप इसका क्या अर्थ रखते हैं: "आप एक कॉन्फ़िगरेशन बना सकते हैं जो वाइल्डकार्ड से मेल खाता है और फिर उदाहरण के लिए HTTP_HOST का उपयोग करें"? साथ ही, मैं कर सकता हूं: site111.mysite.com कोई समस्या नहीं है, लेकिन मैं site111.com, site222.com काम करने की कोशिश करता हूं। शायद हम एक-दूसरे से बात करते हैं :) –
यह केवल तब काम करता है जब आप वाइल्डकार्ड प्रमाणपत्र का उपयोग कर सकते हैं, यानी। * Mysite.com संभव है लेकिन \ *। Com नहीं। लेकिन यह भी नहीं है कि दूसरी साइट क्या पेशकश करती है, है ना? –