[FreeBSD][Apache] Apache 與 IIS 共存於同一 IP 的 80 port (使用 mod_proxy)

Standard

由於非固定制的種花光世代只給申請一個固定 IP,所以想要同時在兩台機器分別跑 Apache 跟 IIS,並且又想要都用 80 port 能連進來,原本以為一定得用 XXX.XXX.XXX.XXX:80 跟 XXX.XXX.XXX.XXX:81 這樣去跑,但 Google 搜尋後,發現竟然可以用 80 port 連進不同的 web server 呢。

目的:
我想用 aaa.com 與 bbb.com 可以分別連進同一 IP 的 80 port 分別位於不同主機上 apache 跟 IIS。
有一台 Router 接種花光世代,固一 IP,內部設定為:IIS主機 使用 1234 port,apache 主機使用 80 port。

做法:
主要是使用 Apache 的 mod_proxy,做法如下:(環境以 FreeBSD 為例)

  1. 首先先安裝(如果已經裝過了就跳過吧)mod_proxy 與 mod_proxy_http。
    [code]
    # cd /usr/ports/www/apache22/
    # make clean; make config
    [/code]

    勾選 PROXY 與 PROXY_HTTP。
    然後再
    [code]
    #make deinstall
    #make install clean
    [/code]

    執行後需要一點時間,跑完之後再下一步。

  2. 準備好想要讓人連 IIS 的域名,如 aaa.com。
  3. 編輯 httpd.conf:
    增加兩行後存檔:
    [code]
    LoadModule proxy_module libexec/apache22/mod_proxy.so
    LoadModule proxy_http_module libexec/apache22/mod_proxy_http.so</li>
    [/code]

  4. 編輯 extra/httpd-vhost.conf

    除原有的 bbb.com (連 apache)的設定外,再增加:

    [code]
    <VirtualHost *:80>
    ServerName aaa.com
    ProxyPass / http://aaa.com:1234/
    ProxyPassReverse / http://aaa.com:1234/
    </VirtualHost>
    [/code]

    然後存檔,重啟 apache,應該就可以用 http://aaa.com/ 連上 IIS 的機子了。

參考資料:
http://www.webmasterworld.com/apache/3821931.htm
http://blog.kjpps.tpc.edu.tw/html/2/2-64.html

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *