######## Bạn cần tạo CA cho quá trình chứng thực:
- Tạo Keys
+ openssl genrsa -out mydomain.key 1024
- Tạo Certificates
+ Self-Signed Certificates:
openssl req -new -key mydomain.key -x509 -out mydomain.crt
+ Certificate Authority Signed Certificates:
openssl req -new -key mydomain.key -out mydomain.csr
######## Config VirtualHost với SSL Trong Apache
Listen 443
Listen 80
NameVirtualHost <IP>:80
NameVirtualHost <IP>:443
<VirtualHost <IP>:80>
ServerAdmin webmaster@mydomain.com
ServerName www.mydomain.com
ServerAlias mydomain.com
DocumentRoot "/var/www/htdocs/mydomain"
<Directory "/var/www/htdocs/mydomain">
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost <IP>:443>
ServerAdmin webmaster@mydomain.com
DocumentRoot /var/www/htdocs/mydomain-secure
ServerName mail.mydomain.com
SSLEngine on
SSLCertificateFile /etc/apache2/ssl.crt/mydomain.crt
SSLCertificateKeyFile /etc/apache2/ssl.key/mydomain.key
</VirtualHost>
<Directory /var/www/htdocs/mydomain-secure>
SSLRequireSSL
</Directory>
<VirtualHost <IP>:80>
ServerAdmin webmaster@mydomain.com
DocumentRoot /srv/www/htdocs/mydomain
ServerName mail.mydomain.com
RedirectMatch permanent (/.*)
https://mail.mydomain.com$1
</VirtualHost>