バーチャルホストを試してみる

  • バーチャルホストの設定方法としては、「IPベース」「Nameベース」「ポートベース」があります。ここでは、Nameベース・ポートベースで設定するその説明。

Nameベースによるアクセス切り替え

  • ここで説明するNameベースは、hosts ファイルで直接指定したローカル環境で閉じた開発などする場合です。
  • 実ドメインのサイトを直接編集できないとき(普通そうですけどね)、ローカルの環境で開発とか検証を行いたい場合によくこの手法を使います。ようするに FQDN がクライアント側、サーバ側で解決していればいいだけの話です。なので内部DNSで解決してもよしだけどそれは敷居が高いので hosts ファイルベースが簡単という訳ですね。
  • 下記の定義ファイルを /etc/httpd/conf.d/virtualhost-sea-bird.org.conf で作成します。作成し終わったら Apache を再起動します。
    NameVirtualHost *:80
    
    <VirtualHost *:80>
      ServerName www.sea-bird.org
      ServerAdmin hoge@sea-bird.org
      DocumentRoot "/var/www/sea-bird/html"
    </VirtualHost>
    
    <VirtualHost *:80>
      ServerName any
      <Location />
        Order deny,allow
        Deny from all
      </Location>
    </VirtualHost>
  • Apacheが動作しているサーバの /etc/hosts に以下のように記述する。
    127.0.0.1 www.sea-bird.org
  • アクセスするクライアント、たとえば Windows のとき C:\Windows\System32\drivers\etc\hosts に以下のように記述する。
    192.xxx.xxx.xxx www.sea-bird.org
  • クライアント(Windows)から、http://www.sea-bird.org を実行する。

ポートベースによるアクセス切り替え

  • REST APIの開発とかだとNameベースでなくともよい場合、ポートベースによる指定が便利です。
  • 下記の定義ファイルを /etc/httpd/conf.d/virtualhost-sea-bird.org.conf で作成します。作成し終わったら Apache を再起動します。
    Listen 5000
    NameVirtualHost 192.168.11.198:5000
    
    <VirtualHost 192.168.11.198:5000>
      ServerName test1
      DocumentRoot "/vagrant/home"
    </VirtualHost>
  • クライアント(Windows)から、http://192.168.11.198:5000 を実行する。

IPベースによるアクセス切り替え

  • その名のとおりIPベースですが、複数のethカードを積んでるっていうのは珍しいですが、ip addr コマンドを使用すると同じようなことができます。
  • 下記の定義ファイルを /etc/httpd/conf.d/virtualhost-sea-bird.org.conf で作成します。作成し終わったら Apache を再起動します。
    <VirtualHost 192.168.11.198:80>
      ServerName test2
      DocumentRoot "/vagrant/home"
    </VirtualHost>
    
    <VirtualHost 192.168.11.200:80>
      ServerName test2
      DocumentRoot "/vagrant/home"
    </VirtualHost>
  • アドレスを追加します。
    # ip addr add 192.168.11.200/24 dev eth1
    # ip addr show

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-08-30 (水) 15:29:31