0

2 つの別々のドメイン (mydomain.com の RoR と sub.mydomain.com の別のサーバー) で実行される 2 つの部分を持つ Web アプリを開発しています。ローカルで開発する場合、localhost:port1 と localhost:port2 でアプリを実行できます。

テストするには、 /etc/hosts ファイルを次のように変更すると便利です。

mydomain.com -> localhost:port1
sub.mydomain.com -> localhost:port2

これを行う方法はありますか?両方を同時に開発するために人々は何をすることを提案しますか?

4

2 に答える 2

2

hosts ファイルは、TCP ポートをまったく認識しません。名前からレイヤー 3 への解像度のみを対象としています。

mfussenegger によって投稿された解決策は興味深いものですが、質問するのが簡単だと思います: なぜこれらを別々のポートで実行する必要があるのですか? HTTP 1.0 をサポートする任意の Web サーバーを使用して、各サイトのホスト ヘッダーをそのサイトのドメイン名に定義するだけで、要求は適切なサイトにルーティングされます。

hosts ファイルには、両方のエントリが localhost を指しているだけです。

これを構成する方法に関するApacheドキュメントへのリンク: http://httpd.apache.org/docs/2.2/vhosts/examples.html

于 2012-06-10T05:27:17.897 に答える
0

nginx や apache などの Web サーバーを実行する必要があります。nginx の構成は次のようになります。

server {
    listen          8080;
    server_name     mydomain.com

    root            /path/to/your/static/files;

    location    / {
        proxy_pass_header Server;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_pass http://127.0.0.1:8090;
    }
}

server {
    listen          8080;
    server_name     sub.mydomain.com

    root            /path/to/your/static/files;

    location    / {
        proxy_pass_header Server;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_pass http://127.0.0.1:8092;
    }
}

proxy_pass http://127.0.0.1:8092;RoR アプリへの URL です。

于 2012-06-10T05:23:33.580 に答える