frame

Sveiki apsilankę!

Jei forume lankaisi pirmą kartą, kviečiame registruotis ir prisijungti prie diskusijų.

Prisijungti Registruotis

Vieno ar daugiau SSL sertifikatų diegimas, naudojant SNI

IV_MartynasBIV_MartynasB Naujokas (-ė)
edited 2014 gegužės 27 Į Web serveriai
Tradiciškai vienas SSL sertifikatas gali būti pajungtas naudojant vieną IP adresą. Jei viename serveryje talpinama daugiau nei viena svetainė, naudojanti saugų ryšį, papildomų IP adresų užsakymas gali būti nepatogus ir brangokas.

Nuo apache 2.2 ir OpenSSL 0.9.8 versijos galima naudoti specialų protokolą SNI, kuris suteikia galimybę pajungti skirtingus SSL sertifikatus, skirtingiems domenams, naudojant vieną IP adresą.

Svarbu pastebėti tai, kad SNI palaiko visi naujesni įrenginiai ir naršyklės, tačiau gali kilti problemų su senomis sistemomis, pvz. IE 6 arba bet kuri IE versija naudojama WinXP aplinkoje. Detalus sąrašas pateiktas šiame straipsnyje

Jei SNI metodas nėra tinkamas - sertifikatą galima įdiegti tradiciniu būdu. Jei sertifikatas diegiamas daugiau nei vienam domenui - papildomus IP adresus galima užsakyti klientų sistemos pagalba, paslaugų sąraše pasirinkus savo serverį.


Serverio paruošimas:

Serveryje turi būti įdiegtas Apache modulis mod_ssl ir OpenSSL. Jei moduliai neįdiegtas, tai atliekama standartine tvarka, pvz.:
yum install mod_ssl openssl
atlikus tai perkraunama apache tarnyba.


Sertifikatų paruošimas:

Rekomenduojama sertifikatus išsaugoti vienoje vietoje, tarkim direktorijoje /etc/ssl/ ir kiekvienam domenui sukurti papildomus katalogus, pvz. /etc/ssl/pirmas_domenas


SNI aktyvavimas

1. Serveryje turi būti įdiegtas ir aktyvuotas apache modulis mod_ssl (ubuntu/debian: a2enmod ).

2. Apache konfigūraciniame faile (dažniausiai httpd.conf) arba ssl konfigūraciniame faile (dažniausiai ssl.conf) turi būti nurodyta, kad klausomasi 443 prievado:
Listen 443

ten pat turi būti nurodyta:
NameVirtualHost *:443

Tai pagrindinė dalis, nurodanti serveriui, kad bus naudojamas SNI.

Sertifikatų pajungimas

Pačių sertifikatų pajungimas beveik toks pat, kaip standartinis. Tiesiog sukuriamas virtualus serveris:
<VirtualHost *:443>
	ServerName "www.pirmas_domenas"
	DocumentRoot /home/pirmas_domenas/public_html/
	SSLEngine On
	SSLCertificateFile /etc/ssl/pirmas_domenas/pirmas_domenas.crt
	SSLCertificateKeyFile /etc/ssl/pirmas_domenas/pirmas_domenas.key
#       SSLCertificateChainFile /etc/ssl/pirmas_domenas/pirmas_domenas.ca-bundle
</VirtualHost>

Ir šalia sukuriamas antras (ar daugiau) virtualus serveris:
<VirtualHost *:443>
	ServerName "www.kitas_domenas"
	DocumentRoot /home/kitas_domenas/public_html/
	SSLEngine On
	SSLCertificateFile /etc/ssl/ckitas_domenas/kitas_domenas.crt
	SSLCertificateKeyFile /etc/ssl/kitas_domenas/kitas_domenas.key
#       SSLCertificateChainFile /etc/ssl/kitas_domenas/kitas_domenas.ca-bundle
</VirtualHost>


Papildoma informacija

Jei serveryje yra aprašytas standartinis (default) virtualhost'as, pvz.
<VirtualHost _default_:443>
# General setup for the virtual host, inherited from global configuration
#DocumentRoot "/var/www/html"
<...>
<...>
<...>
<...>
</VirtualHost>  

pašalinkite arba užkomentuokite šį įrašą.
Norėdami palikti komentarą, turite prisijungti arba registruokis.