1

開発サーバーに Phusion Passenger をセットアップしました。

<VirtualHost *:80>
  ServerName railscasts.local
  DocumentRoot "/Users/rbates/code/railscasts/public"
  RailsEnv development
  RailsAllowModRewrite off
  <directory "/Users/rbates/code/railscasts/public">
    Order allow,deny
    Allow from all
  </directory>
</VirtualHost>

ネットワーク上の他のマシンから Rails アプリケーションにアクセスしたいのですが、アクセスしたいマシンごとにホスト ファイルを構成する必要はありません。

127.0.0.1 railscasts.local

私の理解では、問題を解決するローカル DNS サーバーをセットアップすることができましたが、繰り返しますが、そうする必要はありません。ServerName を開発サーバーの IP アドレスに設定しようとしましたが、これは機能せず、黙って失敗しました。

DNSサーバー以外に、またはLAN上のすべてのマシンを構成する以外に、これを達成する方法はありますか? IPアドレスを指定することでそれを達成できるはずですか?

ありがとう

4

2 に答える 2

1

Apache で IP ベースの仮想ホスティングを使用して、各アプリを独自の IP アドレスに割り当てるか、別のポートを使用することができます。

開発中のアプリが複数あると仮定しています。それ以外の場合は、この vhost をデフォルトの vhost にするだけの簡単な解決策になるからです。

IP および/またはポート ベースの vhosting の設定は簡単です。[1] 関連する IP / ポートをリッスンし、上記の例のように VirtualHost コンテナーで ip.address:port を使用するだけです。

[1] http://httpd.apache.org/docs/current/mod/mpm_common.html#listen

于 2010-11-08T18:05:12.660 に答える
0

私は数日間これを行う方法を見てきました。良い出発点を見つけましたが、改善できると確信しています。

仮想ホストの先頭を次のように変更します。

Listen 1234
<VirtualHost *:1234>

使用されていない限り、任意のポート番号を使用できます。

yourcomputername.local:1234ネットワーク上の別のコンピューターのブラウザーにアクセスして、アプリにアクセスできます。

警告:

これにより、定義した名前 (myapp.local) でアプリにアクセスできなくなっているようです。同じ vhost から両方を実行できるかどうかを調べています。

アプリを実行しているマシンで yourcomputername.local/myapp および myapp.local のようなものを使用して、ネットワーク経由でアプリにアクセスするより良い方法がおそらくあります。

このソリューションを改善するための提案を聞きたいです

于 2011-03-02T19:31:23.350 に答える