• ベストアンサー

Apacheの名前ベースのバーチャルホストについて

Apacheのドキュメントを読むと「名前ベースのバーチャルホストでは、SSLプロトコルの特徴により、SSLサーバには使えない」とありますが、これは何故でしょうか? 名前ベースだと1つのIPアドレスに複数のホスト名を割り振るために、証明書的にまずいと言うことでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • entree
  • ベストアンサー率55% (405/735)
回答No.1

バーチャルホスト名を決定してから証明書の交換ができないためです。 名前ベースのバーチャルホストがHTTPヘッダのHostフィールドに記述されたFQDNによって行われるからです。SSLでリクエストを受け取った時点で、HTTPヘッダは当然のことながら暗号化されており、Hostフィールドの値を参照することができません。そして、この暗号を解くには証明書を必要とします。 つまり、証明書の交換は必ずバーチャルホスト名を解決する前に行われなければならないことになります。

関連するQ&A

  • ApacheによるバーチャルホストでのSSL通信設定

    Apacheでバーチャルホスト設定を行い、1台のサーバで複数のドメインを管理しようとしています。 今は、名前ベースで設定して運用しているため、SSL通信がそれぞれのドメインに対して行えないので、色々調べてみましたが、はっきりと把握できないので、お教え願えればと思います。 1.IPベースのバーチャルホストであればそれぞれのドメインでのSSL通信が可能でしょうか? 2.IPベースの場合、基本設定などは名前ベースと異なるのでしょうか? 3.IPベースのバーチャルホストでSSL通信を行う場合、Apacheは複数起動する必要があるのでしょうか? 4.バーチャルドメインで運用する場合、各ドメイン別のサーバ証明書はどのように設定などするのでしょうか? →単独であればサーバ証明の生成はわかります。 5.上記を実現するために参考になるサイト・書籍などあればお教え下さい。 以上、長文になりましたが、何卒よろしくお願いいたします。 完全な回答でなくとも、ヒントだけでも構いませんので、よろしくお願いいたします。

  • IPベースのバーチャルホスト / IPエイリアスについて

    ApacheのIPベースのバーチャルホストについて質問です。 バーチャルホストで複数ドメインを扱い、それぞれのSSL環境を構築したいと思っています。 調べたところ、下記のことがわかりました。  ・ネームベースのバーチャルホストではSSL環境を複数構築できない  ・IPエイリアスというものを使って、IPベースのバーチャルホストを行えば可能 現在の環境ではeth0にグローバルIPが当たっているのですが、グローバルIPはひとつしか持っていません。そこで質問なのですが  1.eth0にグローバルIP、eth0:0にローカルIPというように、混在してIPエイリアスを設定することは可能ですか?  2.(1が可能な場合)外部からeth0:0に割り当てられたバーチャルホストにアクセスするためにはどうすればよいですか(DNSサーバをたてて、ドメイン名→ローカルIPの設定をする??)? よろしくお願いいたします。 ※環境 CentOS Apache2.2

  • Apacheのバーチャルホストの設定

    Apacheでいくつかのドメインをバーチャルホストに指定してIPアドレスを直接入力してた場合アクセスを拒否、可能であればApacheのサーバーであることを隠せる状態にしたいのですがどのように設定すればよいのでしょうか?

  • バーチャルホストでページがだぶってしまう

    バーチャルホストで http.confに設定をしてやったんですが ちょっと最初からできなさそうなので質問します aa.xxx.xx <ーーこちらはバーチャルではなくデフォルトの場所 bb.xxx.xx <ーーこちらがバーチャルだとします をバーチャルホストに書いて バーチャルホストのほうのDefaultRootを/var/hpにし デフォルトはデフォルトなので/var/www デフォルトのほうはバーチャルなど書いていません 問題はバーチャルホストを有効にして デフォルトのaa.xxx.xxxにアクセスすると バーチャルホストのDefaultRootが読み込まれてしまいます たぶん何となく問題がわかっているんですが サーバ機のIPを2個に増やしたりできないのでしょうか? IPが同一だからだぶると思うんですがたぶん ドメインがaa.xxx.xxx bb.xxx.xxでも同じサーバ機のIPが同じなので おかしくなってしまいます サーバ機に複数のIPアドレスを割り当てる事はできるのでしょうか? もし複数のIPアドレスを割り当てるなら 192.168.1.10の送信はデフォルト 192.168.1.11はバーチャルホストで NameVirtualHost 192.168.1.11とやればうまくいきそうなんですが 詳しい方教えて下さいお願いします OSはLinuxです apache1.3.34です

  • Linux+Apache2+openSSLでVirtualHostは不可能?

    こんにちは。 RedHat Linux9 で、Apache2.0 + openSSLをインストールしたWebサーバーをたてています。 このサーバーでは「domain-A.com(仮)」 を動かしたいのですが、将来的に他のドメインも入れたいため、名前ベースのVirtualHostで構成したいと考えています。ところが、Apacheのマニュアルには「名前ベースのバーチャルホストは SSL プロトコルの特徴により、 SSL セキュアサーバには使えません。」と書かれています。 とりあえず、httpd.confにて、Domain-X.com(非SSL)とDomain-A.com(SSL)をバーチャルホストとして設定しました。 ssl.confにはDocumentRootとしてDomain-A.comのルートを指定しました。 すると、Domain-A.comをSSLで確認できたのですが、Domain-X.comにhttpsでアクセスするとDomain-Aのファイルが表示されてしまったのです。 ひとつのサーバーでSSLを使用するドメインを複数動かすことはできないのでしょうか? また、それができないなら、SSLを使用しないドメインにhttpsでアクセスした時に、SSLを使用するドメインのファイルが出ないようにする方法はないのでしょうか?

  • apache バーチャルホスト

    “名前ベースのバーチャルホストを利用する” http://httpd.apache.org/docs/2.2/ja/vhosts/name-based.html#using に付いて、質問をさせてください。中ほどの行にある; 『たとえば、www.domain.tld を動かしていて、 さらにバーチャルホスト www.otherdomain.tld を追加するとしましょう。』 が今一理解できません。 たとえば登録済みのドメイン名が上記のようにdomain.tldとして、実際にウェブサイトをwww.domain.tld で運用していると仮定します。 www.sub.domain.tldをバーチャルホストとして使用できることは分かりますが、この追加するバーチャルホストの“www. otherdomain.tld”とは実際に何を示すのか教えていただきたいのです。 このドメイン名とは www.domain.tldと別に新たにwww.otherdomain.tldを登録して取得をした正式なドメイン名を示すのか、もしくは、バーチャルホストであるため他の人が登録をしていないドメイン名であればバーチャルとして使用して構わないと言うことなのかです。 前者であろうと推測しますがそれではバーチャルとは言わないのではとも考えています。 お願いします。

  • apacheでバーチャルホストを確認する

    http://www.yunayuna.net/server/apache2virtual.html ここの通りにバーチャルホストを立てたら、 そのwwwの中のhtmlファイルを見るにはどうしたら 良いでしょうか。  http://www.yunayuna.net/server/apache2settei.html ここでの設定はできました。localhostと打ったら指定のhtml が表示されました。バーチャルホストの設定をした場合 、この初期設定はデフォルトに戻すべきでしょうか?

  • Fedora12にてapacheを使用し異なる2つのサーバでのバーチャ

    Fedora12にてapacheを使用し異なる2つのサーバでのバーチャルホストについてなのですが、物理的に異なる2つのwebサーバにバーチャルホストの設定でそれぞれのサーバを運用する事は可能でしょうか? 現在: 192.168.1.14(xxxx.dip.jp) 192.168.1.26(yyyy.dip.jp) の上記2つのサーバでそれぞれapacheを使用しWEBサーバを建てております。 ルータでは192.168.1.26に対してport80を開けております。 192.168.1.14に対しても同様の事をしようと思いましたが、当然のことエラーがでてしまいました。 そこで、これからやりたい事として、 1:バーチャルホストの設定でURLにxxxx.dip.jpを指定したら、192.168.1.14にyyyy.dip.jpを指定したら192.168.1.26に接続したいと思います。 このように、1つのIPで複数のサイトを運用する名前ベースのバーチャルホストでもなく、1つのサーバに複数のIPを振っているIPベースのバーチャルホストでもなく、物理的に異なる2つのサーバに振られた2つのIPに対してのバーチャルホストなのですが、うまいこと設定できるでしょうか。 御教授の程宜しく御願い致します。

  • 【Apache】バーチャルホストの設定について

    質問させていただきます。 Ubuntu 14.04 Apache 2.4.7 にて運用中のWebサーバがあります。 今、このサーバ上で http://aaa.com(非SSL) https://bbb.com(SSL) という2つの異なるドメインのサイトを運用しているのですが、 https://aaa.com とすると、警告が出た後、https//bbb.comのトップページが表示されてしまいます。 これをhttps://aaa.comにアクセスがあった場合、http://aaa.comにリダイレクトさせたいのですが、Apacheのバーチャルホストにてどのような記述をすればよろしいのでしょうか? 大変お手数ですが、お教えいただけると幸いです。

  • Virtualhost:名前ベースorIPペース?

    某レンタルサーバでVPSを使っています。 CentOS6.2(x86_64)、Apache/2.2.15 です。 で、1つの固定IPアドレスに対して、 3つのFQDNをvirtualhostで設定しようとしています。 (そのうち1つは、SSLもあり) で。。。 httpd.conf ===================================== NameVirtualHost *:80 <VirtualHost *:80> ===================================== ssl.conf ==================================== NameVirtualHost *:443 <VirtualHost *:443> ==================================== と、設定するのと、 httpd.conf ===================================== NameVirtualHost xx.xx.xxx.xxx:80 <VirtualHost xx.xx.xxx.xxx:80> ===================================== ssl.conf ==================================== NameVirtualHost xx.xx.xxx.xxx:443 <VirtualHost xx.xx.xxx.xxx:443> ==================================== と設定するのでは、どちらがのぞましいのでしょうか? どちらでも動くのですが・・・。 また、どういう仕組みの違いになっているのでしょうか? 下記2ページを読むと、自分のケースではどっちでも問題ないので、 どっちでもかまわないのでしょうか? //----------------------------------------------------------- 名前ベースのバーチャルホスト http://httpd.apache.org/docs/2.0/ja/vhosts/name-based.html IPベースのバーチャルホストWWWサーバの構築 http://www.aconus.com/~oyaji/www/apache_linux_virtual.htm よろしくお願いします。