
ここで適切な用語を使用しているかどうかはわかりません。基本的にそれが私が質問している理由です (適切な用語を使用すれば、確実に Google で検索できます)。
私は Windows 2008 を搭載した「1 台の大きなサーバー」を持っており、そこには複数の仮想マシン (Linux、Win7、Win2K8) があります。サーバーはパブリック IP アドレスでアクセスできます。次の機能を有効にしたいのですが、どこから始めればよいかわかりません。
- ウェブサイトを異なる仮想マシンに配置する(つまり、VM1 は a.com をホストし、VM2 は b.com をホストする)
- サイトはhttpおよびhttps(ssl)プロトコルで動作する必要があります
- 各VMでリモートデスクトップまたは同様のRDPを許可する
- 各マシンにWebDAV、SCP、FTPなどの他のプロトコルを許可する
リモート デスクトップ アクセスには VPN が必要であり、何らかのホストベースまたはホストベース + プロトコルベースの NAT (これが該当する場合) が必要であると想定しています。
これはすでに何百万回も行われていることのように思えますが、どこから始めればよいのか、どのソフトウェアを使用すればよいのか、あるいは単に Google で何を検索すればよいのかがわかりません。また、ハンドシェイク前にホスト名が表示されないため、SSL はこの方法では機能しないのではないかと思います。
答え1
質問にはカバーすべき内容が本当にたくさんありますが、スキル レベルや知識を超えた実際の制限があるため、SSL Web サイトの部分に焦点を当てます。VPN 構成、WebDAV、FTP などについて具体的なサポートが必要な場合は、質問の残りの部分を小さな部分に分割すると合理的です。
SSL Webサイトを数個だけホストする予定の場合、またはワイルドカードサイト(例:*.example.com)で、その前にリバースプロキシサーバーがある場合は、パブリックIPアドレスを1つだけ使用できます。複数のドメイン(example.com、example.net、foo.com、bar.comなど)が必要な場合は、リバースプロキシにサブジェクト代替名(SAN)またはUCC証明書をインストールできます。便利なチャートWikipedia には、人気のある証明書ベンダーのリストと、そのベンダーが提供するドメインの数が表示されています。Global Sign は、証明書で最大 40 個のドメインを提供しています。
https://vm1:443
代替ポート(https://vm2:444
など) と適切な NAT ルール (VM の前のファイアウォール内)を使用することもできますが、これは通常、パブリック サイトでは望ましくありません。
さて、SSLを使用してサーバーにさまざまなサイトを処理させることができない理由は、SSLの仕組みによるものです。SSLの会話(ハンドシェイク)は前にホストヘッダー(「ホスト名」)はクライアントから送信され、ApacheやIISなどのWebサーバーや、次のようなリバースプロキシ/WebサーバーなどのSSL接続を終了するサーバーによって解釈されます。nginxこれは、サーバーがその時点でどの証明書を提示するかを「知らない」ため、(通常は)構成で定義されたデフォルト(または最初の)証明書のみを提示するからです。この「デフォルト」SSL証明書できるサブジェクト別名 (SAN) 証明書またはワイルドカード証明書であれば、ニーズに合う可能性があります。
サーバー名の表示(SNI) は、マルチ SSL サイトの問題に対する比較的新しい代替手段 (実際には SSL/TLS プロトコルの拡張機能で、クライアントが SSL 会話の一部としてホスト ヘッダーを指定できるようにします) ですが、ブラウザーの老朽化によって抑制されており、IE7+ (Vista+ のみ)、Firefox 2+ などでのみ使用できます。そのため、一般のユーザーが SSL サイトにアクセスすると予想される場合は、ニーズに適さない可能性があります。
ホスティング プロバイダーになろうとしているようですが (これはまったく別の問題です)、ISP/colo プロバイダーからできるだけ大きな IP ブロックを取得し、プロキシ ARP を使用するか、プロビジョニング プロセスの一環として VM にパブリック IP アドレスを物理的に割り当てて、VM が独自の証明書などを取得できるようにします。NAT を使用しない方がうまく機能し、管理オーバーヘッドも少なくなります。各 VM がマルチテナント (つまり、VM にできるだけ多くのサイトを配置できるコモディティな「共有ホスティング」) である場合は、SAN 証明書/IP アドレスの組み合わせを実現できる可能性がありますが、証明書にドメインをいつでも追加/削除できるわけではないことに注意してください。証明書の要求/署名プロセスを再度実行する必要があり、再度料金を請求される可能性があります。
また、ホスト(「1つの大きなサーバー」)を保護するためにも細心の注意を払い、Hyper-Vを使用している場合は、実際の(ハードウェア)ファイアウォールで保護されたボックスのリモート管理に物理NIC(つまり、Hyper-V構成に仮想ネットワークとして含めない)を専用にし、できれば別の/保証されたインターネット接続*または少なくともファイアウォールACLの目的と「クライアント」ブロックの外側の別のブロックのパブリックIPで、何らかの安全な接続(常時接続のIPSecトンネルなど)を確立します。品質. また、サーバーがサポートしているかどうかも確認したいですIPMI(Dell の用語では DRAC) を専用の物理 NIC とともに、パブリック インターネットからアクセスできない管理ネットワークの一部として使用します。これにより、ボックスにベア メタル アクセスが可能になり、リモートで再起動したり、ファームウェアのアップグレードなどを実行したりできるようになります。
*この専用接続要件は、稼働時間/帯域幅/回復力を確保/保証するための独自の手順 (SLA を使用) を講じている可能性のある管理対象施設では問題にならない可能性があります。
答え2
私は Windows ユーザーではありませんが、Google で検索して Windows での実行方法を調べるための適切な用語をお伝えできます。
あなたが探しているのは、Web サイトを VM のローカル IP アドレスにルーティングする「リバース プロキシ」です。私の場合は、リバース プロキシとして nginx を使用しました。これがお役に立てば幸いです。他に必要なことがあればお知らせください。