Виртуалды хостинг: бір серверде бірнеше доменді орналастыру. Арзан, тиімді және көп пайдаланушыға арналған веб-хостинг шешімі. SEO үшін оптимизацияланған.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Бір серверде бірнеше домендік атауды хостингтеу – виртуалды домендік атауды хостингтеу.
Hosting of multiple domain names on one server
virtual domain name hosting
Виртуалды хостинг – бірнеше домендік атауды (әр атау жеке өңделеді) бір серверде (немесе серверлер жиынында) хостингтеу әдісі. Бұл бір серверге жад және процессор циклдары сияқты ресурстарды бөлісуге мүмкіндік береді, барлық қызметтерді бір хост атын пайдалануды талап етпейді. Виртуалды хостинг термині көбінесе веб-серверлерге қатысты қолданылады, бірақ қағидалары басқа да интернет-қызметтерге қолданылады. Ортақ веб-хостинг – кең таралған қолданыс. Ортақ веб-хостинг бағасы арнайы веб-серверге қарағанда төмен, себебі бір серверде көптеген клиенттерге қызмет көрсетуге болады. Сондай-ақ, бір ұйым бір машинада бірнеше атауды пайдалануы мүмкін, атаулар қызметтердің орналасқан жерін емес, ұсынылатын қызметтерді көрсетеді. Виртуалды хостингтің екі негізгі түрі бар: атауға негізделген және IP-ге негізделген. Атауға негізделген виртуалды хостинг клиент ұсынған хост атын пайдаланады. Бұл IP-адрестерді және олармен байланысты әкімшілік шығындарды үнемдейді, бірақ қызмет көрсетілетін протокол хост атын тиісті жерде көрсетуі керек. Әсіресе, SSL/TLS қолданғанда атауға негізделген виртуалды хостингті пайдалануда қиындықтар туындайды. IP-ге негізделген виртуалды хостинг әр хост аты үшін жеке IP-адресті пайдаланады, оны кез келген протоколмен жүзеге асыруға болады, бірақ әр домен үшін арнайы IP-адрес қажет. Принциптің өзінде портқа негізделген виртуалды хостинг мүмкін, бірақ тәжірибеде сирек қолданылады, себебі ол пайдаланушыларға ыңғайсыз. Атауға және IP-ге негізделген виртуалды хостингті біріктіруге болады: серверде бірнеше IP-адрес болуы мүмкін және олардың кейбіреулерінде немесе барлығында бірнеше атауға қызмет көрсетуге болады. Бұл әдіс SSL/TLS және wildcard сертификаттарын пайдаланғанда тиімді. Мысалы, егер сервер операторының екі сертификаты болса, біреуі *.example.com және екіншісі *.example.net болса, оператор foo.example.com және bar.example.com домендеріне бір IP-адрестен қызмет көрсете алады, бірақ baz.example.net үшін бөлек IP-адрес қажет болады.
Virtual hosting is a method for hosting multiple domain names (with separate handling of each name) on a single server (or pool of servers). This allows one server to share its resources, such as memory and processor cycles, without requiring all services provided to use the same host name. The term virtual hosting is usually used in reference to web servers but the principles do carry over to other Internet services. One widely used application is shared web hosting. The price for shared web hosting is lower than for a dedicated web server because many customers can be hosted on a single server. It is also very common for a single entity to want to use multiple names on the same machine so that the names can reflect services offered rather than where those services happen to be hosted. There are two main types of virtual hosting, name based and IP based. Name based virtual hosting uses the host name presented by the client. This saves IP addresses and the associated administrative overhead but the protocol being served must supply the host name at an appropriate point. In particular, there are significant difficulties using name based virtual hosting with SSL/TLS. IP based virtual hosting uses a separate IP address for each host name, and it can be performed with any protocol but requires a dedicated IP address per domain name served. Port based virtual hosting is also possible in principle but is rarely used in practice because it is unfriendly to users. Name based and IP based virtual hosting can be combined: a server may have multiple IP addresses and serve multiple names on some or all of those IP addresses. This technique can be useful when using SSL/TLS with wildcard certificates. For example, if a server operator had two certificates, one for *. example. com and one for *. example. net, the operator could serve foo. example. com and bar. example. com off the same IP address but would need a separate IP address for baz. example. net.
Атау негізінде
Атау негізіндегі виртуалды хосттар бір IP-адрес үшін бірнеше хост атауларын пайдаланады. Атау негізіндегі виртуалды хосттар үшін қажетті техникалық алғышарт – HTTP/1.1 қолдауын (қазіргі кезде кең таралған) қолдайтын веб-браузер, сұранысқа мақсатты хост атауын қосу үшін. Бұл бір IP-адрес артында бірнеше сайтты хостингке алған серверге дұрыс сайт мазмұнын жеткізуге мүмкіндік береді. Нақтырақ айтқанда, бұл HTTP/1.1-де міндетті HTTP тақырыбын орнатуды білдіреді. Мысалы, сервер екі доменге арналған сұрауларды қабылдауы мүмкін, мысалы, example.com және example.org, екеуі де бірдей IP-адреске айналады. example.com үшін сервер HTML файлын /var/www/example.com каталогынан жібереді, ал example.org үшін сервер /var/www/example.org каталогынан беттерді көрсетеді. Сол сияқты, бір доменнің екі субдоменін бірге хостингке алуға болады. Мысалы, блог-сервер blog1.example.com және blog2.example.com екеуін де хостингке алуы мүмкін. Атау негізіндегі виртуалды хостингтің ең үлкен мәселесі – SSL/TLS қолданатын бірнеше қауіпсіз веб-сайтты хостингке алу қиындығы. SSL/TLS қол алысуы серверге күтілетін хост атауы жіберілмей тұрып жүзеге асырылады, сондықтан сервер қол алысу кезінде қандай сертификатты ұсыну керектігін білмейді. Бір сертификат "subjectaltname" өрісі немесе жол таңбалары арқылы бірнеше атауды қамтуы мүмкін, бірақ бұл тәсілдің практикалық қолданылуы әкімшілік мәселелермен және жол таңбаларына сәйкес келу ережелерімен шектеледі. Бұл мәселені шешу үшін TLS-ке Server Name Indication (SNI) деп аталатын кеңейтім бар, ол қол алысудың басында атауды көрсетеді, бірақ бұл кейбір ескі клиенттерде (әсіресе Windows XP немесе Android-тің ескі нұсқаларындағы Internet Explorer) қолданылмайды, себебі олар SNI-ді іске асырмайды. Сонымен қатар, егер Домендік атаулар жүйесі (DNS) дұрыс жұмыс істемесе, IP-адресті білсек те, виртуалды хостингтегі веб-сайтқа кіру қиын. Егер пайдаланушы жүйеге қатынасу үшін IP-адресті пайдалануға тырысса, мысалы, http://192.0.2.1, веб-браузер IP-адресті хост атауы ретінде жібереді. Веб-сервер веб-браузер клиентінен қай сервер атауын (vhost) пайдалану керектігін білуге тиіс болғандықтан, сервер әдеттегі веб-сайтпен жауап береді – көбінесе бұл пайдаланушы күткен сайт емес. Бұл жағдайда шешім – IP-адресті және хост атауын клиент жүйесінің hosts файлына қосу. Домендік атаумен серверге кіру қайтадан жұмыс істеуі керек. Пайдаланушылар мұқият болуы керек, өйткені хост атауы мен IP-адрес арасындағы нақты сәйкестікке енгізілген өзгерістер жергілікті параметрлармен жаңартылмайды. Бұл шешім орташа веб-пайдаланушы үшін тиімді емес, бірақ DNS жазбаларын түзету кезінде сайт әкімшісі үшін пайдалы болуы мүмкін.
Name based virtual hosts use multiple host names for the same IP address. A technical prerequisite needed for name based virtual hosts is a web browser with HTTP/1.1 support (commonplace today) to include the target hostname in the request. This allows a server hosting multiple sites behind one IP address to deliver the correct site's content. More specifically it means setting the HTTP header, which is mandatory in HTTP/1.1. For instance, a server could be receiving requests for two domains, and , both of which resolve to the same IP address. For , the server would send the HTML file from the directory , while requests for would make the server serve pages from Equally two subdomains of the same domain may be hosted together. For instance, a blog server may host both blog1. example. com and blog2. example. com. The biggest issue with name based virtual hosting is that it is difficult to host multiple secure websites running SSL/TLS. Because the SSL/TLS handshake takes place before the expected hostname is sent to the server, the server doesn't know which certificate to present in the handshake. It is possible for a single certificate to cover multiple names either through the "subjectaltname" field or through wildcards but the practical application of this approach is limited by administrative considerations and by the matching rules for wildcards. There is an extension to TLS called Server Name Indication, that presents the name at the start of the handshake to circumvent that issue, except for some older clients (in particular Internet Explorer on Windows XP or older Android versions) which do not implement SNI. Furthermore, if the Domain Name System (DNS) is not properly functioning, it is difficult to access a virtually hosted website even if the IP address is known. If the user tries to fall back to using the IP address to contact the system, as in , the web browser will send the IP address as the host name. Since the web server relies on the web browser client telling it what server name (vhost) to use, the server will respond with a default website—often not the site the user expects. A workaround in this case is to add the IP address and host name to the client system's hosts file. Accessing the server with the domain name should work again. Users should be careful when doing this, however, as any changes to the true mapping between host name and IP address will be overridden by the local setting. This workaround is not really useful for an average web user, but may be of some use to a site administrator while fixing DNS records.
IP-ге негізделген
IP-ге негізделген виртуалды хостинг қолданылғанда, әрбір сайт (DNS хост аты немесе бірдей жұмыс істейтін DNS хост атының тобы) бірегей IP-адреске сілтеме жасайды. Веб-сервер бірнеше физикалық желілік интерфейстермен, сондай-ақ бір физикалық интерфейстегі виртуалды желілік интерфейстермен немесе бір интерфейстегі бірнеше IP-адрестермен конфигурацияланады. Веб-сервер әрбір IP-адрес үшін жеке тыңдау сокеттерін аша алады немесе бір сокет арқылы барлық интерфейстерді тыңдай алады және қосылысты қабылдағаннан кейін TCP қосылысы алынған IP-адресті анықтай алады. Қай жағдайда болса да, ол IP-адресті қандай веб-сайтты көрсету керектігін анықтау үшін пайдалана алады. Клиент осы процеске қатыспайды, сондықтан (атауға негізделген виртуалды хостингтен өзгеше) үйлесімділік мәселелері туындамайды. Алайда, бұл тәсілдің кемшілігі – серверге әр веб-сайт үшін бөлек IP-адрес қажет. Бұл әкімшілік жұмысты күшейтеді (серверлерге адрестер тағайындау және осы адрестерді интернет-тізілімдерде негіздеу) және IPv4 адрес азаюына себеп болады.
When IP based virtual hosting is used, each site (either a DNS host name or a group of DNS host names that act the same) points to a unique IP address. The webserver is configured with multiple physical network interfaces, virtual network interfaces on the same physical interface or multiple IP addresses on one interface. The web server can either open separate listening sockets for each IP address, or it can listen on all interfaces with a single socket and obtain the IP address the TCP connection was received on after accepting the connections. Either way, it can use the IP address to determine which website to serve. The client is not involved in this process and therefore (unlike with name based virtual hosting) there are no compatibility issues. The downside of this approach is the server needs a different IP address for every web site. This increases administrative overhead (both assigning addresses to servers and justifying the use of those addresses to internet registries) and contributes to IPv4 address exhaustion.
Қолданылуы
Виртуалды веб-хостинг көбінесе бизнес-моделі клиенттерге төмен бағалы веб-хостинг ұсыну болып табылатын компанияларда кеңінен қолданылады. Әлемдегі веб-хостинг қызметтерінің клиенттеріне тиесілі веб-сайттардың басым көпшілігі виртуалды хостинг технологиясын пайдалана отырып, ортақ серверлерде орналастырылады. Көптеген бизнес-компаниялар виртуалды серверлерді ішкі мақсаттар үшін пайдаланады, мысалы, клиенттердің жеке кабинеті, қызметкерлердің жеке кабинеті, ішкі интранет және әртүрлі бөлімдерге арналған интранеттер сияқты бірнеше жеке веб-сайттарды пайдаланудың технологиялық немесе әкімшілік себебі болғанда. Егер веб-сайт архитектурасында қауіпсіздік туралы алаңдаушылықтар болмаса, оларды виртуалды хостинг технологиясын қолдана отырып, бір серверге біріктіруге болады, бұл басқару және әкімшілік жүктемені, сондай-ақ бизнесті қолдау үшін қажетті жеке серверлердің санын азайтады.
Virtual web hosting is often used on a large scale in companies whose business model is to provide low cost website hosting for customers. The vast majority of web hosting service customer websites worldwide are hosted on shared servers, using virtual hosting technology. Many business companies utilize virtual servers for internal purposes, where there is a technological or administrative reason to operate several separate websites, such as a customer extranet website, employee extranet, internal intranet, and intranets for different departments. If there are no security concerns in the website architectures, they can be merged into a single server using virtual hosting technology, which reduces management and administrative overhead and the number of separate servers required to support the business.