1

私のチームは夏の間ずっと、最新バージョンの ZF1 を使用してシンプルなマイクロブログ アプリケーションを開発しました。

信頼できる VPN ホスティング サーバーに投資しようとしています。私たちの目標は、開発、テスト、および本番の 3 つの環境を作成することです。私たちの考えは、VPN サーバー上に Apache vhost 構成を作成し、サーバーからのみアクセスできるように test.domain.com をセットアップして、通常のユーザーが Web からアクセスできないようにすることです。その後、開発者はサーバーにトンネリングして test.domain.com にアクセスできます。これは実行可能ですか?誰もこれを試したことがありますか?より良い別のアプローチはありますか?

4

1 に答える 1

1

Vhosts について調べてみると、これが非常に一般的で簡単なことであることがわかります。以下は、私自身の Linux 開発マシンに基づく例です。この構成を使用すると、Apache は ServerName をブラウザの URL に一致させようとします。test.domain.com を入力すると、テスト サイトと一致し、サイトへのアクセスが許可されている IP がチェックされます。その IP と一致しない場合、Apache は「このディレクトリの表示は許可されていません」というエラーを返します (401 または 403 http コード。どちらか不明)。一致するものが見つからない場合、Apache は最初の Vhost を使用するため、prod-site を最初に使用する必要があります。

警告: Apache はブラウザーで URL を使用して照合を行うため、ホスト ファイルを編集すると、Apache をだますことができます。その後、IP のスプーフィングに成功すると、開発サイトにアクセスできます。したがって、損傷を防ぐために、TEST サイトと DEV サイトの両方で常に適切なログイン/認証および承認手順を使用してください。

<VirtualHost *:80>
        ServerName domain.com, www.domain.com
           DocumentRoot /home/prod/document_root
        <Directory />
            Options FollowSymLinks
            AllowOverride All
            Order deny,allow
            Allow from all
        </Directory>   
</VirtualHost>

<VirtualHost *:80>
        ServerName dev.domain.com
           DocumentRoot /home/dev/document_root
        <Directory />
            Options FollowSymLinks
            AllowOverride All
            Order deny,allow
            Deny from all
            Allow from "localhost"
        </Directory>   
</VirtualHost>

<VirtualHost *:80>
        ServerName test.domain.com
           DocumentRoot /home/test/document_root
        <Directory />
            Options FollowSymLinks
            AllowOverride All
            Order deny,allow
            Deny from all
            Allow from "Some IPs"
        </Directory>   
</VirtualHost>
于 2012-09-08T10:13:25.427 に答える