
Apache2の仮想ホスト構成に小さな問題があります。
コンテキスト:Apache2がインストールされたRaspberry Piがあります。私のテストディレクトリ「/var/www/html/test」にアクセスしたいです。
だから、以下のように "/etc/apache2/sites-available"で000-default.confを修正し、これがうまくいきました。
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
NameVirtualHost 192.168.1.29:80
<VirtualHost 192.168.1.29:80>
ServerName raspyvan
DocumentRoot /var/www/html/test
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
(raspyvanは私のルーターとホストファイルのサーバー名です)
しかし、IPアドレス「192.168.1.29」へのアクセスを拒否します。
そのため、000-default.confファイルを次のように2番目に変更しました。
Listen 192.168.1.29:80
ServerName DefaultServer
DocumentRoot /var/www/html
NameVirtualHost 192.168.1.29:80
<VirtualHost 192.168.1.29:80>
ServerName 192.168.1.29
<Directory />
Deny from all
</Directory>
</VirtualHost>
<VirtualHost 192.168.1.29:80>
ServerName raspyvan
DocumentRoot /var/www/test
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
今問題は、IPとホスト名によってアクセスが拒否されている理由を知りません。
編集:私のネームサーバーは、DNSルーターの設定とホストのApacheファイルに適用されます。
答え1
Apacheが仮想ホストと一致しない場合は、常に最初に会う仮想ホストを使用します(これが歴史的にsniが登場するまでSSL証明書ごとに1つのIPが必要でした)。
各仮想ホストのログを追加します。
ErrorLog ${APACHE_LOG_DIR}/error-default.log
CustomLog ${APACHE_LOG_DIR}/access-default.log combined
そして
ErrorLog ${APACHE_LOG_DIR}/error-raspyvan.log
CustomLog ${APACHE_LOG_DIR}/access-raspyvan.log combined
要求されたホスト名を表示するには、「access-default.log」ログファイルを確認してください。