Apache サーバーの背後で 2 つの Web サイトを実行しています。
そのうちの 1 つは、api.xyzzy.com へのリクエストを処理します。
もう 1 つは、入ってくる他のトラフィック (数十のドメイン、サブドメインなど) を処理するため、キャッチオール ワイルドカードです。
以下の構成を使用すると、 http://api.xyzzy.com/の下のディープ リンクへのリクエストは正しい仮想ホスト (最初のホスト) に送信されますが、トップレベルのリクエストはhttp://api.xyzzy.comに送信されます。 /代わりに、2 番目のキャッチオール ワイルドカード仮想ホストをロードします。
ここで私は何を間違えましたか?
LoadModule passenger_module /home/webby/.rvm/gems/ruby-1.9.3-p286/gems/passenger-3.0.18/ext/apache2/mod_passenger.so
PassengerRoot /home/webby/.rvm/gems/ruby-1.9.3-p286/gems/passenger-3.0.18
PassengerRuby /home/webby/.rvm/wrappers/ruby-1.9.3-p286/ruby
NameVirtualHost *:80
<VirtualHost *:80>
ServerName api.xyzzy.com
ServerAlias api.xyzzy.com
RailsEnv production
DocumentRoot /home/webby/rails/current/public
</VirtualHost>
<VirtualHost *:80>
ServerAlias *
<Directory /usr/local/xyzzy/webapps/wwwroot >
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
DocumentRoot /usr/local/xyzzy/webapps/wwwroot
</VirtualHost>
アップデート:
以下の構成は現在、期待どおりに機能しているようです。これは@Winfieldの回答に基づいています。
私のテストが間違っていたようです。私のブラウザ (Chrome) は、入力したアドレスに https (http ではなく) プレフィックスを付けてオートコンプリートしていた可能性があります。残念ながら、何十もの構成の順列を試すまでこの異常に気付かなかったため、最終的な適切な解決策が何であったかを判断するのは困難です. より信頼性の高いテストを行うには、ブラウザー バーに入力するのではなく、コマンド ラインで curl を使用する必要がありました。
<VirtualHost *:80>
<Directory /usr/local/xyzzy/webapps/wwwroot >
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
DocumentRoot /usr/local/xyzzy/webapps/wwwroot
</VirtualHost>
<VirtualHost *:80>
ServerAlias api.xyzzy.com
RailsEnv production
DocumentRoot /home/webby/rails/current/public
</VirtualHost>