url{}
區塊在 Sun WebServer 1.0 中,虛擬主機的所有配置參數都集中放在 /etc/http/httpd.conf 檔案內的同一個地方,但在 Sun WebServer 2.0 中,只有虛擬主機的整體資訊才放在伺服器層級的配置檔案中,而各虛擬主機自己的特殊資訊則放在站台層級的配置檔案內。
url{}
區塊轉換成 2.0在目前的伺服器 (server1) 上增加一個站台 (widgets):
# hthost add -i server1 -h widgets \ -s /var/http/server1/websites/widgets |
以上指令會在伺服器層級配置檔案 /etc/http/server1.httpd.conf 內加入以下設定:
url //widgets { site_enable "yes" site_path "/var/http/server1/websites/widgets" site_config "conf/widgets.site.conf" } |
此外還會在 /var/http/server1/websites/widgets/ 內建立一個新的站台,而 /var/http/server1/websites/widgets/conf/ 目錄內則會出現以下配置檔案:
widgets.site.conf
access.conf
realms.conf
map.conf
content.conf
servlets.properties
Sun WebServer 1.0 url{}
區塊內的大部份配置參數都可以放在站台層級配置檔案 widgets.site.conf 中,其中一個例外則是設定虛擬主機接聽用的通訊埠。每個虛擬主機均需設定其接收連線的 IP 位址與通訊埠。(此處與 1.0 不同,1.0 版的作法是將這些資訊放在 port{}
區塊內,並使用 hosts_supported
指令。)IP 位址與通訊埠合起來在 Sun WebServer 2.0 內稱為「連線端點」,所有網站都必須設定其連線端點(內定站台例外,因為內定站台會在所有的介面上接聽,因此不可
設定連線端點)。有關連線端點的詳細資訊,請參閱 httpd.conf (4)。
若要讓虛擬主機 widgets 在 IP 位址 129.128.127.126 的通訊埠 80 以及所有 IP 位址的通訊埠 1880 上接收連線,請在 /etc/http/server1.httpd.conf 內加上以下設定:
url //widgets { site_enable "yes" site_path "/var/http/server1/websites/widgets" site_config "conf/widgets.site.conf" conn_end_points 129.128.127.126:80:1880 } |
IP 位址不設定在冒號 (:) 左邊,係內定於 HTTP 1.1 虛擬主機中的「所有 IP 位址」。請注意此處設定的所有連線端點都必須用 port{}
區塊加以對應。
Sun WebServer 1.0 url{}
區塊的大部份配置指令都可以直接複製到 Sun WebServer 2.0 站台層級配置 /var/http/server1/websites/widgets/conf/widgets.site.conf 內繼續使用,但以下情形例外:
Sun WebServer 2.0 的所有 URL 對應設定都存放在另外一個檔案 map.conf 內。
假設 Sun WebServer 1.0 的 /etc/http/httpd.conf 檔案內有以下設定:
url //widgets { map /cgi-bin/ /var/http/shared/cgi-bin/ cgi } |
請在 widgets 站台的 /var/http/server1/websites/widgets/conf/map.conf 檔案內加入以下這一行:
map /cgi-bin/ /var/http/shared/cgi-bin/ cgi |
mime_add
mime_add
指令 假設 Sun WebServer 1.0 的 /etc/http/httpd.conf 內含有以下設定:
url //widgets { mime_add "image/jpeg" "JPG" } |
將 /var/http/server1/websites/widgets/conf/widgets.site.conf 內的 mime_file
指令註解去掉:
url //widgets { mime_file "conf/mime.types" } |
將以下新的 mime 對應設定加入 /var/http/server1/websites/widgets/conf/mime.types 檔案內:
image/jpeg JPG |