2006
10.08
10.08
為了解決我的 WEB BBS 和 WEBSITE 開在同一台伺服器上沒辦法共用 port 80 的困擾,所以我找了一些文件,發現有簡單的方法可以解決我的問題。
我有兩個 DN ,分別是 roga.tw (網站) 和 Lab3.tw (BBS),這兩個名稱都是指向同一個 IP 同一台主機,但由於兩者程式不同,所以沒辦法共用 Port 80 ,之前採用的方法是把。web bbs 的服務開啟在 port 8080 ,也就是 http://Lab3.tw:8080 , 而 port 80 則是給 apache 使用,網址就是 http://roga.tw 。
但是我現在希望讓使用者輸入 Lab3.tw 就可以直接連接到 Port 8080 的 WEB BBS 。而 roga.tw 則依然連到 Apache 網站。今天我的希望總算被我弄成功了!方法是透過 Apache 的 module proxy + Virtual Host 來實現。
首先,先設定 DNS 的對應,把 Lab3.tw 和 roga.tw 都對應到同一組 IP (不管是用 CNAME 或是 A record 都可)。
接著要啟動 Apache 的 Vhost 的功能,並且要啟動 Proxy 功能(簡單的說,就是要載入 mod_proxy 和 mod_vhost )
#以下是 Lab3.tw 的 vhost 設定
<virtualHost 220.130.223.205>
ServerName lab3.tw
ProxyRequests On
<directory proxy:*>
Order deny,allow
Deny from all
Allow from all
</directory>
ProxyPass / http://Lab3.tw:8080/
</virtualHost>
#以下是 roga.tw 的 vhost 設定
<virtualHost 220.130.223.205>
DocumentRoot /var/www/
ServerName roga.tw
<directory "/var/www/">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</directory>
</virtualHost>
這邊需要注意的是 Lab3.tw 的 Vhost 設定,很容易就完成了,不是嗎?
當然,也可以讓不同目錄 ProxyPass 到不同目標,範例如下:
#mod_proxy 當然也可以對應到目錄
ProxyPass / http://roga.tw/
ProxyPass /mail http://mal.roga.tw/
ProxyPass /bbs http://roga.tw:8080/
相當容易就可以完成的設定

请问你的服务器环境怎么样?能具体点吗
啊,看到你的文章,我終於搞定了我的config哪裡有錯 - 在proxypass一定要寫DN……
謝謝!