แก้ให้ apache 2 สามารถให้บริการ ssl-site ได้มากกว่า 1 site บน ubuntu 12.04 ; Apache 2.2.22
* Server ต้องสามารถให้บริการ https ได้อยู่แล้ว
- เพิ่มบรรทัด NameVirtualHost *:443 ลงไปในไฟล์ /etc/apache2/ports.conf
ตัวอย่าง
ports.conf# /etc/apache2/sites-enabled/000-default
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
# README.Debian.gzNameVirtualHost *:80
NameVirtualHost *:443
Listen 80
<IfModule mod_ssl.c>
# If you add NameVirtualHost *:443 here, you will also have to change
# the VirtualHost statement in /etc/apache2/sites-available/default-ssl
# to <VirtualHost *:443>
# Server Name Indication for SSL named virtual hosts is currently not
# supported by MSIE on Windows XP.
Listen 443
</IfModule><IfModule mod_gnutls.c>
Listen 443
</IfModule> - สร้างแฟ้ม sites ที่ต้องการในโฟลเดอร์ /etc/apache2/sites-available เช่น site ชื่อ licensing.psu.ac.th และ licensing.in.psu.ac.th ก็สร้าง 2 ไฟล์ คือ licensing-ssl และ licensing-in-sslตัวอย่าง
licensing-ssl
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName licensing.psu.ac.th
DocumentRoot “/var/www/licensing”
SSLEngine on
SSLCertificateFile /etc/ssl/private/STAR_psu_ac_th.crt
SSLCertificateKeyFile /etc/ssl/private/STAR_psu_ac_th.key
SSLCertificateChainFile /etc/ssl/private/STAR_psu_ac_th.ca-bundle
</VirtualHost>
</IfModule>licensing-in-ssl
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName licensing.in.psu.ac.th
DocumentRoot “/var/www/lwp”
SSLEngine on
SSLCertificateFile /etc/ssl/private/STAR_psu_ac_th.crt
SSLCertificateKeyFile /etc/ssl/private/STAR_psu_ac_th.key
SSLCertificateChainFile /etc/ssl/private/STAR_psu_ac_th.ca-bundle
</VirtualHost>
</IfModule> - enable site ด้วยคำสั่ง sudo a2ensite licensing-ssl licensing-in-ssl
- restart apache2 ด้วยคำสั่ง sudo service apache2 restart
- ทดสอบเข้า https://licensing.psu.ac.th และ https://licensing.in.psu.ac.th
- การใช้ หลาย ssl site บนเครื่องเดียวนั้น ต้องใช้ความสามารถของ browser ด้วย โดย browser ที่รองรับการทำ multi ssl นั้นได้แก่ Opera 8.0 and later (the TLS 1.1 protocol must be enabled), Internet Explorer 7 or later (under Windows Vista and later only, not under Windows XP), Firefox 2.0 or later, Curl 7.18.1 or later (when compiled against an SSL/TLS toolkit with
SNI support), Chrome 6.0 or later (on all platforms – releases up to 5.0 only on specific OS versions), Safari 3.0 or later (under OS X 10.5.6 or later and under Windows Vista and later) - แฟ้ม STAR_psu_ac_th.crt, STAR_psu_ac_th.key และ STAR_psu_ac_th.ca-bundle
เป็น certificate ที่ซื้อมาใช้กับโดเมน *.psu.ac.th ทำให้เมื่อเข้า https://licensing.in.psu.ac.th จะมีการเตือนเรื่อง certificate - apache 2 ที่สามารถทำ multi ssl นั้นต้องเป็น apache 2 รุ่น 2.2.12 ขึ้นไป …
- ขอให้สนุกครับ
ที่มา
- http://www.howtoforge.com/hosting-multiple-ssl-web-sites-on-one-ip-address-with-apache-2.2-and-gnutls-debian-lenny
- https://sni.velox.ch/