
数日間これをいじっていますが、うまく動作しないようです。独自の設定ファイルで 2 つのサイトを有効にしています。site1.conf と site2.conf
各サイトには、Let's Encrypt からの書き換えルールがあり、site*-le-ssl.conf にルーティングされます。
ブラウザにパブリック IP を入力すると、site1 が読み込まれるという問題が発生します。ただし、禁止などのエラーが表示されるか、site1 が読み込まれる以外の何かが表示されます。
サイト 2 は、ホスト名で指定された場合にのみ読み込まれるようです。
site1.confは
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName site1.mydomian.com
ServerAlias site1.mydomian.com
DocumentRoot /var/www/site1
<Directory /var/www/site1>
Options FollowSymLinks
AllowOverride All
Require all granted
Header always set X-Frame-Options "SAMEORIGIN"
</Directory>
ErrorLog ${APACHE_LOG_DIR}/site1_error.log
CustomLog ${APACHE_LOG_DIR}/site1_access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =site1.mydomian.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
site1-le-ssl.confは
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName site1.mydomian.com
ServerAlias site1.mydomian.com
DocumentRoot /var/www/site1/
<Directory /var/www/site1>
Options FollowSymLinks
AllowOverride All
Require all granted
Header always set X-Frame-Options "SAMEORIGIN"
</Directory>
ErrorLog ${APACHE_LOG_DIR}/site1_error.log
CustomLog ${APACHE_LOG_DIR}/site1_access.log combined
SSLCertificateFile /etc/letsencrypt/live/site1.mydomian.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/site1.mydomian.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>
site1.conf を使用して Apache を無効にし、再ロードした場合でもa2dissite site1
、パブリック IP でアクセスするとこのサイトは引き続きロードされます。
apache2.conf ファイルでこれを Require all denied に変更しましたが、それでも site1 が読み込まれていました。
<Directory /var/www/>
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
/var/www/site1 の名前を /var/www/site1.old に変更し、パブリック IP でアクセスすると、IP からアクセスした場合に予想される Forbidden ページが表示されました。
site1 を有効にして、パブリック IP ではなくホスト名 site1.mydomain.com でアクセスする方法はありますか?