私はRaspberry Pi(raspbian)で完全に動作するapache2 Webサーバーを持っていて、最近別のWebサイトを作成したかったです。そのために、名前ベースの仮想ホスティングを試してみました。以下から別の動的DNSホスト名を取得しました。https://my.noip.com/#!/dynamic-dns。私は2つのサイトconfファイルとホストファイルを正しく設定したと思います。
私の2つのウェブサイトはashwingupta.ddns.netとjavacloudcompile.ddns.netです(これは私の以前のウェブサイトです)。ただし、これらのいずれかに接続すると、ashwingupta.ddns.netサイトにアクセスできます。以下は設定ファイルです。
所有者
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
127.0.1.1 raspberrypi
127.0.1.1 javacloudcompile.ddns.net
127.0.0.1 ashwingupta.ddns.net
javacloudcompile.ddns.net.conf
NameVirtualHost *:80
<VirtualHost *:8080>
ServerName javacloudcompile.ddns.net
ServerAdmin ashiwingupta@localhost
DocumentRoot /var/www/html/vhosts/javacloudcompile.ddns.net/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
ashwingupta.ddns.net.conf
NameVirtualHost *:8080
<VirtualHost *:8080>
ServerName ashwingupta.ddns.net
ServerAdmin ashiwingupta@localhost
DocumentRoot /var/www/html/vhosts/ashwingupta.ddns.net/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
両方のサイトを有効にしましたが、a2ensite
両方のサイトが正しく有効になっていると主張しています。それからservice apache2 restart
。
(注:すべての操作は意図的に8080で行われ、私のISPは80で着信をブロックします。)
Listen 8080
編集:私のports.confに言及するのを忘れました。
答え1
私の考えでは、NOIPサービスはフレームを使用してサーバーを呼び出していますが、フレームソースはドメイン名ではなくサーバーのIPアドレスのようです。
<frame src="http://68.101.98.197:8080" name="redir_frame" frameborder=0>
Apacheサーバーは要求に含まれているサーバー名を受け取りませんでした。 confファイルはアルファベット順にロードされるため、ashwingupta.ddns.net.confは最も高い優先順位を持ち、プライマリまたはプライマリサーバーと見なされます(参照:https://httpd.apache.org/docs/2.2/vhosts/examples.html)。
この問題を解決する 1 つの方法は、NOIP 構成で対応するポート番号を指定できると仮定し、ashwingupta.ddns.net にポート 8081 などの他のポートを使用することです。