本章節說明如何配置與管理虛擬伺服器的內容。
主文件目錄 (亦稱為文件根目錄) 是中央目錄,可儲存所有您希望供遠端用戶端使用的檔案。
除了主文件目錄之外,您還可以建立其他文件目錄。如此即可讓某使用者管理一組文件,而無需授予其存取主文件根目錄的權限。
選取配置。
從配置清單中選取配置。按一下 [配置] 標籤以取得可用的配置。
選取虛擬伺服器。
選取您需要為其增加新文件目錄的虛擬伺服器。按一下 [虛擬伺服器] 標籤,以取得所選配置的已配置虛擬伺服器清單。
按一下 [內容處理] > [文件目錄] 標籤。
按一下 [新增] 按鈕。配置以下參數:
URL 前綴 — 必須對映至目錄的 URI 前綴。
目錄路徑 — 用以儲存文件的絕對伺服器路徑和有效目錄。
使用 CLI
若要透過 CLI 建立文件目錄,請執行以下指令。
wadm> create-document-dir --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --config=config1 --vs=config1_vs_1 --uri-prefix=/config1_uri --directory=../docs1 |
請參閱 CLI 參考資料 create-document-dir(1)。
文件傳送至用戶端時,伺服器會包含識別此文件類型的區段,從而用戶端可以按正確方式展示文件。但是,有時候伺服器無法決定文件的正確類型,因為沒有為伺服器定義此文件的副檔名。在這些情況下,將會傳送預設值。
預設值通常為 text/plain,但是您應該將其設定為儲存在伺服器中的最常用檔案類型。某些常用 MIME 類型包括:
|
|
|
|
|
|
|
|
|
|
選取配置。
從配置清單中選取配置。按一下 [配置] 標籤以取得可用的配置。
選取虛擬伺服器。
按一下 [虛擬伺服器] 標籤,以取得所選配置的已配置虛擬伺服器清單。
按一下 [內容處理] > [一般] 標籤。
在 [其他] 區段下變更 [預設 MIME 類型] 值
使用 CLI
若要透過 CLI 建立 MIME 類型,請執行以下指令。
wadm> create-mime-type --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --config=config1 --extensions=sxc application/sxc |
請參閱 CLI 參考資料 create-mime-type(1)。
您不需要為每個虛擬伺服器建立單獨的 MIME 類型檔案。而是可以根據自己的需要建立多個 MIME 類型,並使其與虛擬伺服器相關聯。根據預設,伺服器上會有一個 MIME 類型檔案 (mime.types) 存在,且無法刪除。
若 Web 瀏覽器指向網站上不含 index.html 檔案或歡迎檔案的目錄,此目錄中的檔案就無法列在網頁上。您可以執行下列指令,以開啟虛擬伺服器的目錄清單:
enable-directory-listing --user=admin --host=serverhost --password-file=../admin.passwd --port=8989 --ssl=true --no-prompt --rcfile=null --index-style=simple --config=config1 --vs=vs |
–index-style 欄位表示伺服器找不到其中一個指定的索引檔案名稱時,所產生的目錄索引類型。若您的伺服器位於防火牆之外,請開啟目錄清單。圖示 — 此格式包含圖形,表示檔案的類型、最後修改的資料與檔案大小。
有時候使用者想要自行維護自己的網頁。您可以配置公用資訊目錄,這些目錄可讓伺服器上的所有使用者建立首頁與其他文件,而不需要您的介入。
使用此系統,用戶端可以使用特定的 URL (伺服器將其識別為公用資訊目錄) 存取您的伺服器。例如,假設您選擇前綴 ~ 與目錄 public_html。如果請求使用 http://www.sun.com/~jdoe/aboutjane.html,則伺服器會識別為該 ~jdoe 是指使用者的公用資訊目錄。伺服器會在系統使用者資料庫中查詢 jdoe,並尋找 Jane 的主目錄。然後,伺服器會查看 ~/jdoe/public_html/aboutjane.html。
若要配置伺服器以使用公用目錄,請執行以下步驟:
在虛擬伺服器頁面上,按一下 [內容處理] 標籤。
按一下 [文件目錄]。
在 [使用者文件目錄] 下,選擇使用者 URL 前綴。
通常使用的前綴為 ~,因為波浪號字元是存取使用者主目錄的標準 UNIX/Linux 前綴。
選擇使用者主目錄中的子目錄,伺服器會從該目錄中查找 HTML 檔案。
典型的目錄為 public_html。
指定密碼檔案。
伺服器需要瞭解查找檔案 (列示您系統中的使用者) 的位置。伺服器使用此檔案來確定有效的使用者名稱,並尋找其主目錄。如果您為達成此目的而使用系統密碼檔案,則伺服器將會使用標準程式庫呼叫來查詢使用者。或者,可以建立其他使用者檔案來查詢使用者。可以使用絕對路徑指定此使用者檔案。
使用者檔案中的每一行應該具有以下結構 ( /etc/passwd 檔案中的非必要元素以 * 指示):
username:*:*:groupid:*:homedir:*
選擇是否在啟動時載入密碼資料庫。
按一下 [Save]。
如需更多資訊,請參閱線上說明以瞭解 [使用者文件目錄] 頁面。
向使用者指定單獨目錄的另一種方法是建立對映至中央目錄 (所有使用者均可以修改) 的 URL。
在某些情況下,系統管理員可能想要限制哪些使用者帳號可透過使用者文件目錄發佈內容。若要限制使用者的發佈,請在 /etc/passwd file 的使用者主目錄路徑中增加尾隨斜線:
jdoe::1234:1234:John Doe:/home/jdoe:/bin/sh
成為:
jdoe::1234:1234:John Doe:/home/jdoe/:/bin/sh
在您完成此修改後,Web 伺服器 即不會由此使用者的目錄提供頁面。請求此 URI 的瀏覽器會收到「404 未找到檔案」錯誤,並且 404 錯誤將記錄到 Web 伺服器存取記錄。任何錯誤都不會記錄到錯誤記錄。
如果稍後您又決定允許此使用者發佈內容,請從 /etc/passwd 項目中移除尾隨斜線,然後重新啟動 Web 伺服器。
您也可選擇在啟動時載入整個密碼檔案。如果選擇此選項,伺服器會在啟動時將密碼檔案載入至記憶體,便於使用者更快速地查詢。不過,如果密碼檔案很大,此選項會佔用太多的記憶體。
URL 重新導向可讓您將某個 HTTP URL 的文件請求重新導向至其他 HTTP URL。轉寄 URL 或重新導向是伺服器通知使用者 URL 已變更 (例如由於已將檔案移至另一個目錄或伺服器) 的方法。您還可以使用重新導向功能,將對某伺服器上文件的請求,順利傳送至其他伺服器上的文件。
例如,若您將 http://www.sun.com/info/movies 轉寄至前綴 film.sun.com,則 URL http://www.sun.com/info/movies 會重新導向至 http://film.sun.com/info/movies。
有時可能要將對某個子目錄中所有文件的請求,重新導向至特定的 URL。例如,如果您必須移除目錄 (因為造成太多的網路流量或因為任何原因不再提供這些文件),則可以將對其中任一文件的請求導向至解釋這些文件為什麼不再可用的頁面。例如,/info/movies 上的前綴可被重新導向至 http://www.sun.com/explain.html。
您可以在虛擬伺服器層級設定 URL 重新導向。
若要配置 URL 重新導向,請執行以下步驟:
按一下 [配置] 標籤,並從配置清單中選取配置。
按一下 [虛擬伺服器] 子標籤,並從虛擬伺服器清單中選取虛擬伺服器。
按一下 [內容處理] 子標籤與 [URL 重新導向] 子標籤。
按一下 [新建] 按鈕以增加新的 URL 重新導向規則。
請為說明的欄位提供必要的值。按一下 [確定] 按鈕。如果需要,您可以按一下配置的 [部署] 按鈕。
下表說明增加新的 URL 重新導向規則時所需的參數。
表 9–1 URL 重新導向參數
參數 |
說明 |
---|---|
來源 |
URI 前綴 — 重新導向請求的來源 URI。此 URI 樣式的所有 HTTP 請求都將重新導向至 [目標 URL] 所指定的 URL。 條件 — 除了提供 URI 前綴做為來源以外,您也可以在條件文字欄位中使用常規表示式。例如,若您使用的瀏覽器是 Mozilla,而您必須將請求重新導向至特定的 URL,請在條件欄位中鍵入 $browser = “Mozilla”。 另一個有效範例是 $browser =~ “MSIE”。 Web 伺服器包含一組由伺服器預先定義的變數,以及供您定義自訂變數的功能。在我們的範例中,browser 是預先定義的變數。如需可用之預先定義變數的清單,請參閱 「Sun Java System Web Server 7.0 Update 3 Administrator’s Configuration File Reference」中的「Predefined Variables」。 您可以使用變數元素在 server.xml 檔案中定義自訂變數,然後由此條件文字參照這些變數。 管理主控台對於 NameTrans 指令所使用的重新導向 SAF,以及所有變數、表示式文字、表示式函數與表示式運算子,僅支援 <If> 標記。 如需有關變數、運算子與表示式的更多資訊,請參閱「Administrator's Configuration File Reference Guide」。 |
目標 URL |
應將請求重新導向至的 URL。來自「來源 URL」中所指定之 URL 的所有 HTTP 請求,都將重新導向至此 URL。 |
URL 類型 |
固定的。已啟用/已停用。固定 URL 是指靜態 URL,如 HTML 頁面的連結。非固定 URL 是指具有請求參數的動態 URL 或僅具有前綴的 URL。 |
使用 CLI
若要透過 CLI 增加新的 URL 重新導向規則,請執行以下指令。
wadm> create-url-redirect --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --no-ssl --config=config1 --vs=config1_vs_1 --uri-prefix=/redirect --target-url=http://www.cnet.com |
請參閱 CLI 參考資料 create-url-redirect(1)。
Web 伺服器 已增強為可在配置檔案中支援常規表示式 (又稱為樣式) 以及請求時間參數內插法。此外,萬用字元樣式相符支援已延伸至 server.xml。URL 重新導向以 SAF 形式實作。重新導向 SAF 可讓您重新導向符合特定前綴的 URI。您可以使用 from 參數來指定前綴,並使用 url 或 url-prefix 參數來指定重新導向至的 URL。在 Web 伺服器 中,from 是選擇性參數。如果省略 from,則會重新導向所有 URI。
在 obj.conf 檔案中,新的 <If>、<Elseif> 和 <Else> 標記支援 SAF 參數。這些標記包括指令。使用這些標記可定義執行這些指令的條件。 這些標記也可用於動態產生 SAF 參數。
Web 伺服器 提供 URL 重新寫入功能,該功能為 Apache HTTP 伺服器之 mod_rewrite 模組的超集合。<If> 標記與 Apache 的 mod_rewrite 功能不同,可提供以下功能:
此標記可以處理 URI、路徑、標頭欄位以及回應內文。
此標記可在處理請求的任何階段進行作業。
此標記可搭配任何 SAF (包括協力廠商外掛程式) 使用。
請看以下指令:
NameTrans fn="redirect" from="/site1" url="http://site1.mycompany.com" |
可以使用常規表示式重寫上述指令,如下所示:
<If $uri =~ '^/site1'> NameTrans fn="redirect" url="http://site1.mycompany.com" </If> |
在上述程式碼片段中,請注意此處使用常規表示式代替 from 參數。如果您需要將所有對 /site1/* 的請求重新導向至 http://site1.mycompany.com/*/index.html,請注意此方法:
<If $uri =~ '^/site1/(.*)'> NameTrans fn="redirect" url="http://site1.mycompany.com/$1/index.html" </If> |
在此,<If> 標記會指定任何符合 (.*) 的值給變數 $1。來自原始請求的值將動態替代 url 參數中的 $1。這就表示上述 obj.conf 程式碼片段會使對 /site1/download 的請求被重新導向至 http://site1.mycompany.com.com/download/index.html。
<If> 與 redirect 結合後能獲得 mod_rewrite 的靈活性。但是,<If> 與 mod_rewrite 不同,除了重新導向與重新寫入 URL 之外還有其他用途。<If> 也可以與任何 ASF (包括協力廠商外掛程式) 搭配使用。
上述方法可配置 302 Moved Temporarily 重新導向。在 Web 伺服器 中,您也可以增加 status="301" 參數,以指出您需要 301 Moved Permanently 重新導向。
NameTrans fn="redirect" from="/path" url="http://server.example.com" status="301" |
<If>、<Else> 與 <ElseIf> 標記的支援在管理基礎架構 (管理主控台與 CLI) 中有所限制。雖然在 obj.conf 檔案中,這些標記可與指令、變數、SAF、表示式文字、表示式函數與表示式運算子一起使用,但管理基礎架構對於 NameTrans 指令所使用的重新導向 SAF,以及所有變數、表示式文字、表示式函數與表示式運算子,僅支援 <If> 標記。
例如,您可以配置:
<If $browser =~ "MSIE"> NameTrans fn = "redirect" url="/msie.html" </If> |
但您無法配置:
If $browser =~ "MSIE"> NameTrans fn = "redirect" url="/msie.html" </If> <Else> NameTrans fn="redirect" url="/other.html" </Else> |
但是,您可以使用 get-config-file 與 set-config-file CLI 指令,以利用 <If>、<ElseIf> 與 <Else> 採取更複雜的表示式。
請參閱 get-config-file(1) 與 set-config-file(1)。
您可以使用任意數量的程式設計語言定義共用閘道介面 (CGI) 程式。在 UNIX/Linux 機器上,您可能需要尋找以 Bourne shell 或 Perl 程序檔撰寫的 CGI 程式。
在 UNIX/Linux 中所執行的額外 CGIStub 程序,可讓伺服器用來協助 CGI 執行。僅在初次存取 CGI 時才建立這些程序。它們的數目依 CGI 載入伺服器的方式不同而不同。初次存取 CGI 時才會建立這些程序。 伺服器停止時,它們將消失。
如需更多資訊,請參閱 Web 伺服器 Performance Tuning and Sizing Guide中有關 MinCGIStub、 MaxCGIStub 與 CGIStubIdleTimeout 的討論。
在 Windows 電腦上,您可能會找到以 C++ 或批次檔撰寫的 CGI 程式。對於 Windows 而言,以 Windows 程式設計語言 (如 Visual Basic) 撰寫的 CGI 程式使用不同的機制與伺服器一起作業。它們都稱為 Windows CGI 程式。
若要執行指令行公用程式,您需要手動設定 Path 變數以包含 server_root /bin/https/bin。
無論為哪種程式設計語言,所有的 CGI 程式都會以同樣的方式接受並傳回資料。如需有關撰寫 CGI 程式的資訊,請參閱下列資訊來源:
Web 伺服器 Developer’s Guide
共用閘道介面位於:
http://hoohoo.ncsa.uiuc.edu/cgi/overview.html
線上文件網站上有關 CGI 的可用文章位於:
http://docs.sun.com
下圖說明在 Web Server 7.0 中處理 CGI 請求的方式:
指定一個僅包含 CGI 程式的目錄。無論副檔名為何,所有檔案都做為程式執行。
指定 CGI 程式全部為某特定檔案類型。即,全部使用 .cgi、.exe 或 .bat 副檔名。這些程式可位於文件根目錄中/下的任何目錄內。
如果需要,您可以同時啟用這兩個選項。
任一種執行方式都有優點。如果您想僅允許一組特定的使用者可增加 CGI 程式,請將這些 CGI 程式保留在指定目錄中,然後限制對這些目錄的存取。如果您想允許可增加 HTML 檔案的所有人都能增加 CGI 程式,請使用檔案類型選項。使用者可將他們的 CGI 檔案與 HTML 檔案保留在相同目錄中。
如果您選擇了目錄選項,您的伺服器會嘗試將該目錄中的所有檔案解譯為 CGI 程式。同樣,如果您選擇了檔案類型選項,您的伺服器會嘗試將具有 .cgi、.exe 或 .bat 副檔名的任何檔案做為 CGI 程式處理。如果某個檔案具有其中一個副檔名,卻不是 CGI 程式,則使用者嘗試存取該檔案時將會發生錯誤。
依預設,CGI 程式的副檔名為 .cgi、.exe 與 .bat。但是修改 MIME 類型檔案即可變更代表 CGI 程式的副檔名。您可以透過選擇 [伺服器喜好設定] 標籤並按一下 [MIME 類型] 連結來執行此作業。
Web 伺服器 可讓您使用管理主控台 GUI 來增加 CGI 文件目錄。
若要增加新的 CGI 文件目錄,請執行以下作業:
按一下 [配置] 標籤,並從配置清單中選取配置。
按一下 [虛擬伺服器] 子標籤,並從虛擬伺服器清單中選取虛擬伺服器。
按一下 [內容處理] 子標籤和 [CGI] 子標籤。
按一下 [新增] 按鈕來增加新的 CGI 文件目錄。
請為說明的欄位提供必要的值。按一下 [確定] 按鈕。如果需要,您可以按一下配置的 [部署] 按鈕。
下表說明了增加新的 CGI 文件目錄時所需的欄位。
表 9–2 CGI 參數
參數 |
說明 |
---|---|
前綴 |
鍵入此目錄要使用的 URL 前綴。即,您鍵入的文字將在 URL 中顯示為 CGI 程式的目錄。 例如,如果您鍵入 cgi-bin 做為 URL 前綴,則所有指向這些 CGI 程式的 URL 都具有以下結構: http://yourserver.domain.com /cgi-bin/program-name |
CGI 目錄 |
在 [CGI 目錄] 文字欄位中,以絕對路徑形式鍵入目錄位置。請注意,此目錄不必位於文件根目錄下。這就是您需要指定 URL 前綴的原因。 備註 – 您指定的 URL 前綴可以與實際 CGI 目錄不同。 |
使用者 |
指定要以其身份執行 CGI 程式的使用者名稱。 |
群組 |
指定要以其身份執行 CGI 程式的群組名稱。 |
Chroot |
指定在執行開始前 chroot 至的目錄。 |
Nice |
指定 nice 值,即決定相對於伺服器的 CGI 程式之優先權的增量。 通常,伺服器以 nice 值 0 開始執行,nice 增量值介於 0 (CGI 程式與伺服器以相同的優先權執行) 和 19 (CGI 程式以比伺服器低很多的優先權執行) 之間。雖然將 nice 增量值指定為 -1 可以將 CGI 程式的優先權提高到比伺服器更高的優先權執行,但是並不建議您這樣做。 |
若要移除現有的 CGI 目錄,請選取該 CGI 目錄,然後按一下 [刪除] 按鈕。若要變更現有目錄的 URL 前綴或 CGI 目錄,請按一下目錄連結。
將 CGI 程式複製到指定的目錄中。請注意,這些目錄中的所有檔案都將做為 CGI 檔案處理,因此請勿將 HTML 檔案放在 CGI 目錄中。
若要將 CGI 指定為一種檔案類型,請執行以下作業:
按一下 [配置] 標籤,並從配置清單中選取配置。
按一下 [虛擬伺服器] 子標籤,並從虛擬伺服器清單中選取虛擬伺服器。
按一下 [內容處理] 子標籤和 [CGI] 子標籤。
按一下 [CGI 做為檔案類型] 單選方塊以啟用。
CGI 檔案必須具有副檔名 .bat、.exe 或 .cgi。任何非 CGI 檔案如果有這些副檔名,伺服器就會將其視為 CGI 檔案進行處理,從而引起錯誤。
使用 CLI
您可以建立包含 CGI 程式 (由您的伺服器處理) 的 CGI 目錄。CGI 程式為特定的檔案類型,例如 .cgi、.exe 或 .bat。這些程式可位於文件根目錄中/下的任何目錄內。
若要透過 CLI 增加 CGI 目錄,請執行以下指令。
wadm> create-cgi-dir --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --config=config1 --vs=config1_vs_1 --uri-prefix=/config1_urlprefix --directory=/cgi-dir |
請參閱 CLI 參考資料 create-cgi-dir(1)。
若您使用 .exe 做為 CGI 檔案類型,則無法將 .exe 檔案做為可執行檔下載。
此問題的一個解決方案是壓縮您要讓使用者下載的可執行檔,以便副檔名不是 .exe。此解決方案還可以縮短下載時間。
另一種可能的解決方案就是將做為副檔名的 .exe 從 magnus-internal/cgi 類型中移除,然後將其增加至 application/octet-stream 類型 (一般可下載檔案的 MIME 類型)。但是,此方法的缺點就是在做出變更後,您無法將 .exe 檔案用做 CGI 程式。
另一個解決方案是編輯伺服器的 obj.conf 檔案,以設定下載目錄 (該目錄中的任何檔案都可以自動下載)。伺服器的其餘部分不受影響。
Shell CGI 是一種伺服器配置,允許您使用 Windows 中設定的檔案關聯執行 CGI 應用程式。
例如,如果伺服器收到對 hello.pl 的 shell CGI 檔案請求,則該伺服器會利用 Windows 檔案關聯,使用與 .pl 副檔名關聯的程式來執行檔案。如果 .pl 副檔名與程式 C:\\bin\\perl.exe 關聯,伺服器將嘗試按如下方式執行 hello.pl 檔案:
c:\\bin\\perl.exe hello.pl
配置 shell CGI 的最簡便方式是在伺服器文件根下建立一個僅包含 shell CGI 檔案的目錄。但是,您也可以透過 Web 伺服器編輯 MIME 類型以配置伺服器,進而建立特定副檔名與 shell CGI 的關聯。
如需有關設定 Windows 副檔名的資訊,請參閱 Windows 文件。
您可以指定一個自訂錯誤回應,當用戶端遇到來自虛擬伺服器的錯誤時,會將詳細訊息傳送至用戶端。您可以指定一個要傳送的檔案或 要執行的 CGI 程式。
例如當伺服器遇到特定目錄的錯誤時,您可以變更伺服器的運作方式。如果用戶端嘗試連線至受存取控制保護的伺服器部分,您可以傳回錯誤檔案,說明如何取得帳號。
在您啟用自訂錯誤回應前,您必須先建立錯誤回應中要傳送的 HTML 檔案或要執行的 CGI 程式。
若要增加自訂錯誤頁面,請執行以下步驟:
按一下 [配置] 標籤,並從配置清單中選取配置。
按一下 [虛擬伺服器] 子標籤,並從虛擬伺服器清單中選取虛擬伺服器。
按一下 [內容處理] 子標籤和 [錯誤頁面] 子標籤。
按一下 [新增] 按鈕以增加自訂錯誤頁面。
對於您要變更的各錯誤代碼,請指定包含錯誤回應的檔案或 CGI 的絕對路徑。
按一下 [確定] 以返回至錯誤頁面清單。
使用 CLI
若要透過 CLI 自訂錯誤頁面,請執行以下指令。
wadm> set-error-page --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --config=config1 --vs=config1_vs_1 --code=500 --error-page=/server-error-uri-new |
請參閱 CLI 參考資料 set-error-page(1)。
文件的字元集在某種程度上而言是由撰寫所使用的語言來決定的。透過選取資源並輸入該資源的字元集,您可以置換文件、文件集或目錄的用戶端預設字元集設定。
大多數瀏覽器可以使用 HTTP 中的 MIME 類型 charset 參數來變更其字元集。如果伺服器在其回應中包括此參數,則瀏覽器會相應地變更其字元集。範例為:
Content-Type: text/html;charset=iso-8859-1
Content-Type: text/html;charset=iso-2022-jp
下列一些常用瀏覽器可識別的 charset 名稱是在 RFC 17.000 (以 x- 開頭的名稱除外) 中指定的:
若要變更字元集,請執行以下步驟:
您可以指定文件頁尾,其可包含伺服器某部分中所有文件的最後修改時間。除 CGI 程序檔的輸出或剖析的 HTML (.shtml) 檔案之外,所有檔案均可使用此頁尾。如果您需要文件頁尾顯示在 CGI 程序檔輸出或已剖析的 HTML 檔案中,請將頁尾文字輸入至單獨的檔案中,並增加一行程式碼或另一個伺服器端包含,以將該檔案附加至此頁面的輸出中。
若要設定文件頁尾,請執行以下步驟:
在虛擬伺服器頁面上,按一下 [內容處理] 標籤。
按一下 [一般] 子標籤,然後移至 [文件頁尾] 區段。
請指定要包含此註腳的檔案之類型。
指定日期格式。
鍵入要在註腳中顯示的所有文字。
文件頁尾最多可包含的字元數為 7.065。如果您要包含最後一次修改文件的日期,請鍵入字串 :LASTMOD:。
按一下 [Save]。
使用 CLI
若要透過 CLI 設定文件頁尾,請執行以下指令。
wadm> enable-document-footer --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --config=config1 --vs=config1_vs_1 --mime-type=text/html --date-format=%B --footer="config1 footer" |
請參閱 CLI 參考資料 enable-document-footer(1)。
您可以在伺服器中限制使用檔案系統連結。檔案系統連結是儲存在其他目錄或檔案系統中的檔案之參考。參考使得存取遠端檔案就像在目前目錄中存取此檔案一樣。有兩種類型的檔案系統連結:
強制連結 ─ 強制連結其實是指向同一資料區塊集的兩個檔案名稱;原始檔案與連結是完全相同的。出於這種原因,硬式連結不能位於不同的檔案系統中。
符號 (軟式) 連結 ─ 符號連結包含兩個檔案:含有資料的原始檔案以及指向原始檔案的另一個檔案。符號式連結要比硬式連結更靈活。可以在不同的檔案系統中使用符號連結,並且可以連結至目錄。
如需有關強制連結與符號連結的更多資訊,請參閱 UNIX/Linux 系統文件。
檔案系統連結是在主文件目錄以外建立文件指標的一種簡易方法,任何人均可以建立這些連結。出於這種原因,您可能會擔心使用者建立敏感檔案 (例如,機密文件或系統密碼檔案) 的指標。
若要限定符號式連結,請執行以下步驟:
在虛擬伺服器頁面上,按一下 [內容處理] 標籤。
按一下 [一般] 子標籤。
移至 [其他] 區段下的 [符號連結] 區段。
選擇是否啟用符號連結和/或強制連結以及起始目錄。
按一下 [儲存]。
使用 CLI
若要透過 CLI 限制符號連結,請執行以下指令。
wadm> set-symlinks-prop --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --config=config1 --vs=config1_vs_1 allow-soft-links=true allow-hard-links=false directory=/abc |
請參閱 CLI 參考資料 set-symlinks-prop(1)。
HTML 通常會準確地傳送至用戶端,就像其存在於磁碟中一樣,不需要任何伺服器介入。但是,伺服器在傳送文件之前,可以在 HTML 檔案中搜尋特殊的指令 (即,伺服器可以剖析 HTML)。如果您要伺服器剖析這些檔案,並將請求特定的資訊或檔案插入文件中,則必須首先啟用 HTML 剖析。
在虛擬伺服器頁面上,按一下 [內容處理] 標籤。
按一下 [一般] 子標籤。
在 [剖析的 HTML/SSI 設定] 下,選擇是否啟動伺服器剖析的 HTML。
您可以針對 HTML 檔案而不針對 exec 標籤啟動,也可以同時針對 HTML 檔案與 exec 標籤啟動,這樣便可允許 HTML 檔案執行伺服器上的其他程式。
選擇要剖析的檔案。
您可以選擇是僅剖析具有 .shtml 副檔名的檔案,還是剖析所有 HTML 檔案 (這會降低效能)。如果使用 UNIX/Linux,則還可以選擇剖析執行許可權處於開啟狀態的 UNIX/Linux 檔案,但這樣做不可靠。
按一下 [Save]。
如需有關使用伺服器剖析之 HTML 的更多資訊,請參閱 Web 伺服器 Developer’s Guide。
使用 CLI
若要透過 CLI 設定伺服器剖析的 HTML,請執行以下指令。
wadm> enable-parsed-html --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --config=config1 --vs=config1_vs1 |
請參閱 CLI 參考資料 enable-parsed-html(1)。
快取控制指令是 Web 伺服器 使用的一種控制方法,用以控制代理伺服器快取的資訊。使用快取控制指令,您可以置換代理伺服器的預設快取,以防止快取機密資訊 (也許稍後會被擷取)。若要使這些指令可以運作,代理伺服器必須遵守 HTTP 1.1。
如需有關 HTTP 1.1 的更多資訊,請參閱超文字傳輸協定--HTTP/1.1 規格 (RFC 2068),該協定位於:
http://www.ietf.org/
在虛擬伺服器頁面上,按一下 [內容處理] 標籤。
按一下 [一般] 子標籤並移至 [其他] 區段下的 [快取控制指令] 欄位。
填寫欄位。回應指令的有效值如下:
按一下 [Save]。
使用 CLI
若要透過 CLI 設定快取控制指令,請執行以下指令。
wadm> set-cache-control-directives --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --config=config1 --vs=config1_vs_1 public=true private=true must-revalidate=true |
請參閱 CLI 參考set-cache-control-directives(1)。
Web 伺服器 支援 HTTP 內容壓縮。透過內容壓縮,您可以加快對用戶端的傳送速度,還可以提供更高的內容量,而不會增加硬體消耗。內容壓縮縮短了內容的下載時間,使需要撥號與多次連線的使用者明顯受益。
透過內容壓縮,Web 伺服器可傳送經過壓縮的資料,並指導瀏覽器快速解壓縮資料,這樣便可減少資料傳送量,並加快頁面顯示速度。
您可以配置伺服器,以產生預先壓縮的檔案版本,並將其儲存在指定的目錄中。配置好之後,且只有在接收到 Accept-encoding: gzip 標頭時,只要是請求已配置用來提供預先壓縮內容的目錄中之檔案,這些請求就會全部重新導向為請求該目錄中的等效壓縮檔案 (如果存在該檔案)。例如,假設 Web 伺服器接收到對 myfile.html 的請求,而 myfile.html 和 myfile.html.gz 同時存在,則包含適當 Accept-encoding 標頭的請求會接收到經過壓縮的檔案。
若要將伺服器配置為提供預先壓縮的內容,請執行以下步驟:
您也可以將伺服器配置為即時壓縮傳輸資料。除非使用者要求,否則動態產生的 HTML 頁面不會存在。這對用於電子商務的 Web 應用程式和以資料庫為核心的網站特別有用。
若要將伺服器配置為依需求壓縮內容,請執行以下步驟:
在虛擬伺服器頁面上,按一下 [內容處理] 標籤。
按一下 [一般] 子標籤。移至 [壓縮] 區段下的 [依需求壓縮內容] 區段。
請從以下選項中選取:
依需求壓縮 ─ 對所選資源啟用/停用依需求壓縮。
插入 Vary 標頭 ─ 指定是否插入 Vary: Accept-encoding 標頭。
如果已選取,則選取檔案的壓縮版本時,總是會插入 Vary: Accept-encoding 標頭。
如果未選取,則不會插入 Vary: Accept-encoding 標頭。
分段大小 ─ 以位元組為單位指定壓縮程式庫 (zlib) 要使用的記憶體分段大小,用以控制一次要壓縮多少資料。 預設值為 8096。
壓縮層級 ─ 指定壓縮層級。請選擇 1 到 9 之間的值。值 1 可產生最佳速度;值 9 則可產生最理想的壓縮。預設值為 6,同時兼顧壓縮的速度和效果。
按一下 [Save]。
使用 CLI
若要透過 CLI 啟用依需求壓縮功能,請執行以下指令。
wadm> enable-on-demand-compression --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --config=config1 --vs=config1_vs_1 --insertvaryheader=true --fragment-size=100 --compression-level=5 |
請參閱 CLI 參考enable-on-demand-compression(1)。
反向代理伺服器表面上是用戶端的 Web 伺服器 (原始伺服器),但實際上會將接收到的請求轉寄至一個或多個原始伺服器。因為反向代理伺服器會以原始伺服器的方式呈現,所以不需配置用戶端即可使用反向代理伺服器。只要將指定的反向代理伺服器配置為將請求轉送給多台配置相同的原始伺服器,反向代理伺服器即可充當應用程式級的軟體負載平衡器。
一般的部署通常會將一或多台反向代理伺服器部署在瀏覽器和原始伺服器之間。
按一下 [配置] 標籤,然後選取配置。
按一下 [虛擬伺服器] 標籤,然後選取虛擬伺服器。
按一下 [內容處理] > [反向代理伺服器] 標籤。
按一下 [新增代理伺服器 URI] 按鈕。
指定以下參數的值:
URI — 反向代理伺服器 URI
伺服器 URL - 以逗號分隔的遠端伺服器 URL。如果給定多個值,則伺服器將在指定的伺服器之間分配負載。
按一下 [配置] 標籤,然後選取配置。
按一下 [虛擬伺服器] 標籤,然後選取虛擬伺服器。
按一下 [內容處理] > [反向代理伺服器] 標籤。
按一下 [URI]
您可以編輯以下參數:
URI — 反向代理伺服器 URI
伺服器 URL - 以逗號分隔的遠端伺服器 URL。如果給定多個值,則伺服器將在指定的伺服器之間分配負載。
居留式 Cookie ─ cookie 的名稱,當其出現在回應中時,會導致隨後的請求滯留在原始伺服器中。
居留式 URI 參數 ─ URI 參數名稱,用以檢查路由資訊。當 URI 參數出現於請求 URI 中,並且它的值包含冒號「:」、 後接路由 ID 時,該請求將「居留」於該路由 ID 所識別的原始伺服器。
路由標頭 ─ HTTP 請求標頭的名稱,用以將路由 ID 傳送給原始伺服器。
路由 Cookie ─ 伺服器在回應中發現「sticky-cookie」cookie 時所產生的 cookie 名稱。「route-cookie」cookie 可儲存路由 ID,從而可讓伺服器引導後續請求返回至相同的原始伺服器。
使用 CLI
1. 呼叫 create-reverse-proxy
指令。
wadm> create-reverse-proxy --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --config=test --vs=test --uri-prefix=// --server=http://rick.india.sun.com:8080 |
請參閱 CLI 參考create-reverse-proxy(1)。
2.
修改 obj.conf
檔案。
NameTrans fn="map" from="/" name="reverse-proxy-/" to="http:/" ... <Object name="reverse-proxy-/"> Route fn="set-origin-server" server="http://rick.india.sun.com:8080" </Object> <Object ppath="http:*"> Service fn="proxy-retrieve" method="*" </Object> |
若要重新導向至安全網站,請執行相同的步驟並為 --server
選項提供 https
位址。
隱私權喜好設定平台 (P3P) 使網站能夠以標準格式 (可自動擷取且易於由使用者代理程式解釋) 表達網站的隱私權作法。P3P 使用者代理程式可讓使用者知道網站的作法 (以機器可讀和人類可讀兩種格式)。如需更多資訊,請參閱 http://www.w3.org/P3P/。
選取配置。
從配置清單中選取配置。按一下 [配置] 標籤以取得可用配置的清單。
選取虛擬伺服器。
從虛擬伺服器清單中選取虛擬伺服器。按一下 [虛擬伺服器] 標籤,以取得所選配置的可用虛擬伺服器。
按一下 [一般] 標籤。配置 [P3P] 區段中的以下設定。
已啟用 ─ 為選取的虛擬伺服器啟用 P3P。
簡潔策略 ─ 簡潔策略可向使用者代理程式 (瀏覽器或其他 P3P 應用程式) 提供提示,以讓使用者代理程式在套用策略時做出迅速、同步的決定。小型策略是由 P3P 規格指定的效能最佳化機制,使用者代理程式或伺服器可選擇是否採用。
使用 CLI
若要為虛擬伺服器啟用 P3P,請執行以下指令:
wadm> enable-p3p --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --config=config1 --vs=config1_vs_1 --policy-url=http://xyz.com/policyurl |
請參閱 CLI 參考enable-p3p(1)。