構成
サービスとして実行されているC:\xampp Apacheに XAMPP がインストールされた Windows Server 2012 を実行しています
C:\Windows\System32\Drivers\etcのホスト ファイルを編集し、次のように追加しました。
127.0.0.1 landing.local
C:\xampp\apache\conf\extra\httpd-vhosts.confに vhost を追加しました
NameVirtualHost 127.0.0.1:80
<VirtualHost 127.0.0.1:80>
DocumentRoot C:/xampp/htdocs/
ServerName localhost
ServerAlias localhost
</VirtualHost>
<VirtualHost landing.local:80>
DocumentRoot "C:/xampp/htdocs/landing"
ServerName landing.mydomain.com
ServerAlias landing.mydomain.com
</VirtualHost>
httpd-vhosts.conf の次の行のコメントも外しました
NameVirtualHost *:80
およびhttpd.confで
LoadModule vhost_alias_module modules/mod_vhost_alias.so
Include "conf/extra/httpd-vhosts.conf"
Apache はポート 80 でリッスンするように構成されています。
Listen 80
Landing.mydomain.comは、Windows Azure からパブリック仮想 IP にリダイレクトされます。
問題
ローカルにアクセスするとhttp://landing.local/サイトが機能しますが、ネットワーク内から Landing.mydomain.com にアクセスしようとすると機能せず、代わりにメインの localhost サイトにリダイレクトされます。
それで、ホストでlanding.mydomain.comを、 vHostでlanding.mydomain.comを使ってみました。
<VirtualHost landing.mydomain.com:80>
DocumentRoot "C:/xampp/htdocs/landing"
ServerName landing.mydomain.com
ServerAlias landing.mydomain.com
</VirtualHost>
今回は、サーバー上のネットワーク内からLanding.mydomain.comにアクセスできますが、ローカル ネットワークの外部からアクセスしようとすると機能しません。
また、ホスト ファイルを編集して、 landing.mydomain.comをパブリック仮想 IP または内部 IP アドレスに指定しようとしました。役に立たなかった...
<VirtualHost landing.mydomain.com:80>
DocumentRoot "C:/xampp/htdocs/landing"
ServerName landing.mydomain.com
ServerAlias landing.mydomain.com
</VirtualHost>
ホストファイル
255.255.255.255 landing.mydomain.com
255.255.255.255 は私のパブリック仮想 IP で、255.255.255.254 内部 IP ですが、機能しませんでした。私のローカルホスト(mydomain.comのホームページ)を開くだけです
255.255.255.254 landing.mydomain.com
また、私はしようとしました
httpd.conf を編集して、Apache をパブリック仮想 IP 255.255.255.255 にバインドします。
Listen 255.255.255.255:80
(OS 10049) 要求されたアドレスは、そのコンテキストでは無効です。: AH00072: make_sock: アドレス 255.255.255.255:80 にバインドできませんでした AH00451: 使用可能なリッスン ソケットがありません。シャットダウンしています
内部 IP アドレスにバインドすると Apache は機能しましたが、それでもネットワークの外部から Landing.mydomain.com にアクセスできず、再びホームページ (サーバー localhost) にリダイレクトされました。
Listen 255.255.255.254:80
dosから起動したときにもこの警告を受け取りましたが、それは私の問題の原因ではありません。これは、 httpd.confからコメントを外した行です。ボードのどこかで読んだため、問題を解決するのに役立ちましたが、まったく役に立ちませんでした、コメント付きおよびコメントなしと同じ。
ホスト >>
127.0.0.1 landing.mydomain.com
この構成では、localhost からサブドメインにアクセスできませんでした。Aレコードを使用してサーバーのパブリック仮想IPにリダイレクトされたため、ネットワークの外部からもアクセスできました。
AH00548: NameVirtualHost は効果がなく、次のリリースで削除されます C:/xampp/apache/conf/extra/httpd-vhosts.conf:19
解決
そのため、ホスト ファイルの IP アドレスも内部 IP アドレス 255.255.255.254 に変更しました。
255.255.255.254 landing.mydomain.com
そして、仮想ホストをそのままにしました。
NameVirtualHost localhost:80
<VirtualHost localhost:80>
DocumentRoot C:/xampp/htdocs/
ServerName localhost
ServerAlias localhost
</VirtualHost>
<VirtualHost landing.mydomain.com:80>
DocumentRoot "C:/xampp/htdocs/landing"
ServerName landing.mydomain.com
ServerAlias landing.mydomain.com
</VirtualHost>
誰かが Windows Server 2012 での Apache の構成に精通している場合は、助けていただければ幸いです :)
アップデート
Azure プラットフォームで Windows Server ファイアウォール (ポート 80 と 443、tcp 着信トラフィックを許可) とエンドポイント (tcp 80 と 443) を構成することを忘れないでください。