2017-12-20 100 views
9

मैं अपने बालों को यहां खींच रहा हूं। वेबसाइट्स 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? आपके समय के लिए धन्यवाद।

+0

आपको क्यों लगता है कि यह स्थिर सर्वर कॉन्फ़िगरेशन का हिस्सा बनने की आवश्यकता है? आप एक कॉन्फ़िगरेशन बना सकते हैं जो वाइल्डकार्ड से मेल खाता है और फिर उदाहरण के लिए HTTP_HOST का उपयोग यह तय करने के लिए करें कि किस तरह के संसाधनों को सेवा देना है। साथ ही, आपको क्या लगता है कि वे सिर्फ वाइल्डकार्ड प्रमाणपत्र की बजाय प्रत्येक साइट के लिए एक अलग प्रमाणपत्र का उपयोग करते हैं? –

+0

आपके त्वरित उत्तर @SteffenUllrich के लिए धन्यवाद। क्या आप कृपया अपने विचार पर विस्तार कर सकते हैं? मुझे समझ में नहीं आता ऐप द्वारा एक्सेस किए जाने से पहले HTTPS को हल करने की आवश्यकता है, तो आप इसका क्या अर्थ रखते हैं: "आप एक कॉन्फ़िगरेशन बना सकते हैं जो वाइल्डकार्ड से मेल खाता है और फिर उदाहरण के लिए HTTP_HOST का उपयोग करें"? साथ ही, मैं कर सकता हूं: site111.mysite.com कोई समस्या नहीं है, लेकिन मैं site111.com, site222.com काम करने की कोशिश करता हूं। शायद हम एक-दूसरे से बात करते हैं :) –

+0

यह केवल तब काम करता है जब आप वाइल्डकार्ड प्रमाणपत्र का उपयोग कर सकते हैं, यानी। * Mysite.com संभव है लेकिन \ *। Com नहीं। लेकिन यह भी नहीं है कि दूसरी साइट क्या पेशकश करती है, है ना? –

उत्तर

0

I try to do the same thing, but I can't figure out how they do it!?

मक्खी पर एसएसएल वेबसाइटों उत्पन्न करने के लिए, वे प्रमाणपत्र प्राधिकार Letsencrypt का उपयोग के रूप में आप अपने आप को जांच कर सकते हैं (उदाहरण: सीएन = www.thefoodmarketchiswick.com)। लेकिन .wix.com नामों के तहत होस्ट की गई वेबसाइटों के लिए, वे सिर्फ वाइल्डकार्ड प्रमाण पत्र (CN = * .wix.com) का उपयोग कर रहे हैं। तब तक, आसान।

दूसरा प्रश्न, जैसा आपने बताया है अपाचे इस विशाल होस्टिंग को संभाल नहीं सकता है (और कोई भी मानता है कि आप एक सर्वर पर लाखों अनुप्रयोगों को होस्ट कर सकते हैं)। इस Netcraft Survey पर एक नज़र डालें जो कुछ संकेत देता है। मैं उनके लिए जवाब नहीं दे सकता, लेकिन एक openssl s_client त्रुटि में चल रहा है, जिसका अर्थ है कि वे बहुत ही जटिल चीजें नहीं कर रहे हैं।

1

टीएल; डीआर: वे वाइल्डकार्ड प्रमाणपत्र का उपयोग करते हैं। इसलिए समस्या प्रमाणपत्र स्तर पर और सर्वर कॉन्फ़िगरेशन स्तर पर हल की जाती है, न केवल सर्वर कॉन्फ़िगरेशन स्तर पर, जैसे आप करने का प्रयास कर रहे हैं।

अंकों की युगल:

  • The logical solution - शायद ही मैं कुछ भी "तार्किक" कंप्यूटर विज्ञान या सॉफ्टवेयर इंजीनियरिंग में देखते हैं। यह इंजीनियरिंग है, गणित नहीं, आपको सामान करना है, चीजें नहीं सोचें। तो ज्ञान कई मामलों में बुद्धि से अधिक महत्वपूर्ण हो जाता है (सभी नहीं)।

  • आपके पास एसएनआई के बारे में एक सही बिंदु है - यह टीसीपी/एसएसएल परत (HTTP से पहले जहां HTTP शीर्षलेख उपलब्ध हो) होस्ट होस्ट पहचान meachanism का पुश-बैक है।

  • virtualhost for every custom domain - जिस पैमाने पर हम बात कर रहे हैं उसके आधार पर, यह काम कर सकता है। हालांकि, यदि आप 200, 1000, 5000 - सबडोमेन वाले क्लाइंट पर ऑनबोर्ड करते हैं। फिर क्या?

  • How do they do it - मुझे सिर्फ उदाहरण प्रदान करते हैं: HTTP CloudFlare तरह प्रॉक्सी आप के लिए एक नि: शुल्क प्रमाण पत्र उत्पन्न करता है, आप अपने सर्वर (PROXY-> मूल ecryption) और END_USER पर जोड़ने के लिए है -> CloudFlare कनेक्शन एक वाइल्डकार्ड का उपयोग कर एन्क्रिप्टेड है प्रमाण पत्र।

Abbreviated:: ये वाइल्डकार्ड प्रमाणपत्र वे मेरे लिए जारी की डीएनएस नाम हैं

DNS Name=sni178747.cloudflaressl.com 
DNS Name=*.9992924.com 
DNS Name=*.apum.de 
DNS Name=*.arbomedia.net 
DNS Name=*.australiacasinobonus.net 
DNS Name=*.auto-lpg.de 
DNS Name=*.autoprof.de 
DNS Name=*.circuitodesafio.com.br 
DNS Name=*.data--center.info 
DNS Name=*.devclub.com 
DNS Name=*.eissportanlagen.de 
DNS Name=*.entrepreneur-hebdo.fr 
DNS Name=*.environmentalbrasil.com.br 
DNS Name=*.gofitnessplan.fr 
DNS Name=*.golfinterieur.info 
DNS Name=*.greenbuch.cf 
DNS Name=*.mindaugas.cf 
DNS Name=*.mp3fdm.trade 
DNS Name=*.mp3freedom.info 
DNS Name=*.mp3star.cricket 
DNS Name=environmentalbrasil.com.br 
DNS Name=gofitnessplan.fr 
DNS Name=golfinterieur.info 
DNS Name=greenbuch.cf 
DNS Name=mindaugas.cf 
DNS Name=mp3fdm.trade 
DNS Name=mp3freedom.info 
DNS Name=mp3star.cricket 
DNS Name=preussische-geschichte.de 
  • कैसे इस तरह के सर्वर नज़र के विन्यास? यह वास्तव में एक सर्वर फार्म है, लोडबैंसर के तहत, डब्ल्यू/संसाधन साझा किए जाते हैं (अलग-अलग ट्यूनेड मशीनों डब्ल्यू/कैश पर स्थिर संसाधन)। प्रत्येक सर्वर पर कई वर्चुअल होस्ट/डोमेन/होस्ट उपनाम हैं, लेकिन उनमें से कई के लिए केवल 1 SSL फ़ाइल (या सभी, पैमाने पर निर्भर करता है)। डोमेन में समर्पित कॉन्फ़िगरेशन हो सकते हैं, यदि उनकी कॉन्फ़िगरेशन समान हैं तो उन्हें एक साथ समूहीकृत किया जा सकता है।

  • वेबसर्वर अनुशंसाओं के संबंध में - जब तक APACHE का उपयोग करने का कोई अच्छा कारण न हो, मैं इसका उपयोग नहीं करता। एक कारण है कि nginx कर्षण और लोकप्रियता प्राप्त कर रहा है।

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