前提
基本的な設定のみで、セキュリティは意識していない。
www.example.com
www.example.net
の2サイトを構築する。
ALBに証明書を持たせず、サーバで復号させる。
環境
OS:Amazon Linux release 2 (Karoo)
apache:2.4.54-1
httpサイト
ドメインごとの設定を追加。
/etc/httpd/conf.d/vhost.conf
<VirtualHost *:80>
ServerName www.example.com #ドメイン名
DocumentRoot /var/www/html/example1 #ドキュメント置き場
ErrorLog /var/log/httpd/www.example.com_error_log #エラーログ出力先
CustomLog /var/log/httpd/www.example.com_access_log combined #アクセスログ出力先
</VirtualHost>
<VirtualHost *:80>
ServerName www.example.net
DocumentRoot /var/www/html/example2
ErrorLog /var/log/httpd/www.example.net_error_log
CustomLog /var/log/httpd/www.example.net_access_log combined
</VirtualHost>
httpsサイト
必要なパッケージをインストール
yum install mod-ssl
待ち受けポートを追加。
/etc/httpd/conf/httpd.conf
Listen 443
ドメインごとの設定を追加。
※今回は自己証明書のため中間証明書の指定なし
<VirtualHost *:443>
ServerName www.example.com
DocumentRoot /var/www/html/example1
ErrorLog /var/log/httpd/www.example.com_ssl_error_log
CustomLog /var/log/httpd/www.example.com_ssl_access_log combined
SSLEngine on # SSLを有効化
SSLProtocol +TLSv1.2 # 許可するSSLプロトコル
SSLCertificateFile /etc/httpd/conf.d/ssl/www.example.com.crt # 証明書
SSLCertificateKeyFile /etc/httpd/conf.d/ssl/www.example.com.key # 秘密鍵
</VirtualHost>
<VirtualHost *:443>
ServerName www.example.net
DocumentRoot /var/www/html/example2
ErrorLog /var/log/httpd/www.example.net_ssl_error_log
CustomLog /var/log/httpd/www.example.net_ssl_access_log combined
SSLEngine on
SSLProtocol +TLSv1.2
SSLCertificateFile /etc/httpd/conf.d/ssl/www.example.net.crt
SSLCertificateKeyFile /etc/httpd/conf.d/ssl/www.example.net.key
</VirtualHost>