Apache 2.4 https 多網域設定 讓一台伺服器綁定多個網址
讓一台伺服器綁定多個網址是利用伺服器資源的好方法,也是架站必學技巧~
其實只需要去除https的設定值即可套用在 http上面!
延伸閱讀:
如何申請免費SSL?又要怎麼安裝SSL?(以SSL For Free – Let’s Encrypt為例)
http 自動重新導向 https
Step 1
編輯SSL設定檔,讓Apache辨認domain name來區分站台
1 |
[andy@www ~]$ sudo vim /etc/httpd/conf.d/ssl.conf |
找到『<VirtualHost _default_:443>』
在這個設定的上方增加設定值『NameVirtualHost』
如此一來,才可以讓Apache辨認domain name來區分站台
1 2 3 4 5 |
NameVirtualHost *:443 <VirtualHost _default_:443> . . . |
這個虛擬站台裡面要填入什麼呢?
可以直接複製http.conf的站台設定來修改!而且只需要去除少許設定就可以了!
1 2 3 4 5 6 7 8 9 10 |
<virtualhost *:443> DocumentRoot "/var/www/html/" ServerName www.xxx.tw <directory "/var/www/html/"> AllowOverride All Options FollowSymLinks AddDefaultCharset UTF-8 Order allow,deny </Directory> </VirtualHost> |
要刪除哪些設定值?
像是用來達成 http 自動重新導向至 https 的相關設定值就要去除掉!
(例如:RewriteCond、RewriteRule)
Step 2
補上SSL必要設定值
下列範例的第10~21行都是Apache ssl.conf預設站台的設定。
SSL憑證的路徑要記得修改『SSLCACertificateFile、SSLCertificateKeyFile、SSLCertificateFile』
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<virtualhost *:443> DocumentRoot "/var/www/html/" ServerName www.xxx.tw <directory "/var/www/html/"> AllowOverride All Options FollowSymLinks AddDefaultCharset UTF-8 Order allow,deny </Directory> SSLEngine on SSLProtocol all -SSLv2 SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SEED:!IDEA SSLCACertificateFile /etc/ssl/ca_bundle.crt SSLCertificateKeyFile /etc/ssl/private.key SSLCertificateFile /etc/ssl/certificate.crt <Files ~ "\.(cgi|shtml|phtml|php3?)$"> SSLOptions +StdEnvVars </Files> BrowserMatch "MSIE [2-5]" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 </VirtualHost> |
Pingback:CentOS 7 架站教學彙整 (Apache 2.4 + MySQL 5.7 + php 7 + phpMyAdmin + SSH + sFTP) - BrilliantCode.net