由於非固定制的種花光世代只給申請一個固定 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。
\# cd /usr/ports/www/apache22/  
    \# make clean; make config
勾選 PROXY 與 PROXY\_HTTP。  
然後再  
#make deinstall  
    #make install clean
執行後需要一點時間,跑完之後再下一步。

2. 準備好想要讓人連 IIS 的域名,如 aaa.com。 3. 編輯 httpd.conf:
增加兩行後存檔:

LoadModule proxy_module libexec/apache22/mod_proxy.so  
    LoadModule proxy_http_module libexec/apache22/mod_proxy_http.so</li>
  1. 編輯 extra/httpd-vhost.conf

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

<VirtualHost \*:80>  
    ServerName aaa.com  
    ProxyPass / http://aaa.com:1234/  
    ProxyPassReverse / http://aaa.com:1234/  
    </VirtualHost>
然後存檔,重啟 apache,應該就可以用 http://aaa.com/ 連上 IIS 的機子了。

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