Sun Java System Web Server 7.0 管理員指南

第 9 章 管理伺服器內容

本章節說明如何配置與管理虛擬伺服器的內容。

配置文件目錄

主文件目錄 (亦稱為文件根目錄) 是中央目錄,可儲存所有您希望供遠端用戶端使用的檔案。

除了主文件目錄之外,您還可以建立其他文件目錄。如此即可讓某使用者管理一組文件,而無需授予其存取主文件根目錄的權限。

Procedure建立文件目錄

  1. 選取配置。

    從配置清單中選取配置。按一下 [配置] 標籤以取得可用的配置。

  2. 選取虛擬伺服器。

    選取您需要為其增加新文件目錄的虛擬伺服器。按一下 [虛擬伺服器] 標籤,以取得所選配置的已配置虛擬伺服器清單。

  3. 按一下 [內容處理] > [文件目錄] 標籤。

  4. 按一下 [新增] 按鈕。配置以下參數:

    • URL 前綴 — 必須對映至目錄的 URL 前綴。

    • 目錄路徑 — 用於儲存文件的絕對伺服器路徑和有效目錄。


    備註 –

    使用 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)


變更預設 MIME 類型

文件傳送至用戶端時,伺服器會包含識別此文件類型的區段,從而用戶端可以按正確方式展示文件。但是,有時候伺服器無法決定文件的正確類型,因為沒有為伺服器定義此文件的副檔名。在這些情況下,將會傳送預設值。

預設值通常為 text/plain,但是您應該將其設定為儲存在伺服器中的最常用檔案類型。某些常用 MIME 類型包括:

  • text/plain

  • text/html

  • text/richtext

  • image/tiff

  • image/jpeg

  • image/gif

  • application/x-tar

  • application/postscript

  • application/x-gzip

  • audio/basic

Procedure變更預設 MIME 類型

  1. 選取配置。

    從配置清單中選取配置。按一下 [配置] 標籤以取得可用的配置。

  2. 選取虛擬伺服器。

    按一下 [虛擬伺服器] 標籤,以取得所選配置的已配置虛擬伺服器清單。

  3. 按一下 [內容處理] > [一般] 標籤。

  4. 在 [其他] 區段下變更 [預設 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) 存在於伺服器中,且無法刪除。


自訂使用者公用資訊目錄 (UNIX/Linux)

有時候使用者想要自行維護自己的網頁。您可以配置公用資訊目錄,這些目錄可讓伺服器上的所有使用者建立首頁與其他文件,而不需要您的介入。

使用此系統,用戶端可以使用特定的 URL (伺服器將其識別為公用資訊目錄) 存取您的伺服器。例如,假設您選擇前綴 ~ 與目錄 public_html。如果請求使用 http://www.sun.com/~jdoe/aboutjane.html,則伺服器會識別為該 ~jdoe 是指使用者的公用資訊目錄。伺服器會在系統使用者資料庫中查詢 jdoe,並尋找 Jane 的主目錄。然後,伺服器會查看 ~/jdoe/public_html/aboutjane.html

若要配置伺服器以使用公用目錄,請執行以下步驟:

Procedure配置文件目錄

  1. 在虛擬伺服器頁面上,按一下 [內容處理] 標籤。

  2. 按一下 [文件目錄]。

  3. 在 [使用者文件目錄] 下,選擇使用者 URL 前綴。

    通常使用的前綴為 ~,因為波浪號字元是存取使用者主目錄的標準 UNIX/Linux 前綴。

  4. 選擇使用者主目錄中的子目錄,伺服器會從該目錄中查找 HTML 檔案。

    典型的目錄為 public_html

  5. 指定密碼檔案。

    伺服器需要瞭解查找檔案 (列示您系統中的使用者) 的位置。伺服器使用此檔案來確定有效的使用者名稱,並尋找其主目錄。如果您為達成此目的而使用系統密碼檔案,則伺服器將會使用標準程式庫呼叫來查詢使用者。或者,可以建立其他使用者檔案來查詢使用者。可以使用絕對路徑指定此使用者檔案。

    使用者檔案中的每一行應該具有以下結構 ( /etc/passwd 檔案中的非必要元素以 * 指示):

    username:*:*:groupid:*:homedir:*

  6. 選擇是否在啟動時載入密碼資料庫。

  7. 按一下 [儲存]。

    如需更多資訊,請參閱線上說明以瞭解 [使用者文件目錄] 頁面。

    向使用者指定單獨目錄的另一種方法是建立對映至中央目錄 (所有使用者均可以修改) 的 URL。

限定內容發佈

在某些情況下,系統管理員可能想要限制哪些使用者帳號可透過使用者文件目錄發佈內容。若要限制使用者的發佈,請在 /etc/passwd file 的使用者主目錄路徑中增加尾隨斜線:

jdoe::1234:1234:John Doe:/home/jdoe:/bin/sh

成為:

jdoe::1234:1234:John Doe:/home/jdoe/:/bin/sh

如此修改之後,Sun Java System Web Server 將不提供此使用者目錄中的頁面。請求此 URI 的瀏覽器會收到「404 未找到檔案」錯誤,並且 404 錯誤將記錄到 Web 伺服器存取記錄。任何錯誤都不會記錄到錯誤記錄。

如果稍後您又決定允許此使用者發佈內容,請從 /etc/passwd 項目中移除尾隨斜線,然後重新啟動 Web 伺服器。

啟動時載入整個密碼檔案

您也可選擇在啟動時載入整個密碼檔案。如果選擇此選項,伺服器會在啟動時將密碼檔案載入至記憶體,便於使用者更快速地查詢。不過,如果密碼檔案很大,此選項會佔用太多的記憶體。

設定 URL 重新導向

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 重新導向,請執行以下步驟:

  1. 按一下 [配置] 標籤,並從配置清單中選取配置。

  2. 按一下 [虛擬伺服器] 子標籤,並從虛擬伺服器清單中選取虛擬伺服器。

  3. 按一下 [內容處理] 子標籤[URL 重新導向] 子標籤。

  4. 按一下 [新建] 按鈕以增加新的 URL 重新導向規則。

  5. 請為說明的欄位提供必要的值。按一下 [確定] 按鈕。如果需要,您可以按一下配置的 [部署] 按鈕。

下表說明增加新的 URL 重新導向規則時所需的參數。

表 9–1 URL 重新導向參數

參數

說明

自 URL

應從其重新導向請求的 URL。此 URL 的所有 HTTP 請求都將重新導向至 [目標 URL] 中指定的 URL。 

目標 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)


使用常規表示式進行 URL 重新導向

Sun Java System Web Server 7.0 已增強為可在配置檔案中支援常規表示式 (又稱為式樣) 以及請求時間參數內插法。此外,萬用字元式樣相符支援已延伸至 server.xml。URL 重新導向以 SAF 形式實作。重新導向 SAF 可讓您重新導向符合特定前綴的 URI。您可以使用 from 參數來指定前綴,並使用 urlurl-prefix 參數來指定重新導向至的 URL。在 Sun Java System Web Server 7.0 中,from 參數是可選擇的。如果省略 from,則會重新導向所有 URI。

在 obj.conf 檔案中,新的 <If><Elseif><Else> 標記支援 SAF 參數。請參閱附錄 - obj.conf - 語法與用法。這些標記包括指令。使用這些標記可定義執行這些指令的條件。 這些標記也可用於動態產生 SAF 參數。

Sun Java System Web Server 7.0 提供 URL 重新寫入功能,該功能為 Apache HTTP 伺服器之 mod_rewrite 模組的超集合。<If> 標記與 Apache 的 mod_rewrite 功能不同,可提供以下功能:

請看以下指令:


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 重新導向。在 Sun Java System Web Server 7.0 中,您也可以增加 status="301" 參數,以指出您需要 301 Moved Permanently 重新導向。


NameTrans fn="redirect" from="/path" url="http://server.example.com" status="301"

CGI 簡介

您可以使用任意數量的程式設計語言定義共用閘道介面 (CGI) 程式。在 UNIX/Linux 機器上,您可能需要尋找以 Bourne shell 或 Perl 程序檔撰寫的 CGI 程式。


備註 –

在 UNIX/Linux 中所執行的額外 CGIStub 程序,可讓伺服器用來協助 CGI 執行。僅在初次存取 CGI 時才建立這些程序。它們的數目依 CGI 載入伺服器的方式不同而不同。初次存取 CGI 時才會建立這些程序。 伺服器停止時,它們將消失。


如需更多資訊,請參閱線上「Sun Java System Web ServerPerformance Tuning and Sizing Guid」中有關 MinCGIStub MaxCGIStubCGIStubIdleTimeout 的討論。

在 Windows 電腦上,您可能會找到以 C++ 或批次檔撰寫的 CGI 程式。對於 Windows 而言,以 Windows 程式設計語言 (如 Visual Basic) 撰寫的 CGI 程式使用不同的機制與伺服器一起作業。它們都稱為 Windows CGI 程式。


備註 –

若要執行指令行公用程式,您需要手動設定 Path 變數以包含 server_root /bin/https/bin


無論為哪種程式設計語言,所有的 CGI 程式都會以同樣的方式接受並傳回資料。如需有關撰寫 CGI 程式的資訊,請參閱下列資訊來源:

下圖說明 Web Server 7.0 中 CGI 請求的處理方式:

Sun Java System Web Server 7.0

有兩種方式可在伺服器機器上儲存 CGI 程式:

如果需要,您可以同時啟用這兩個選項。

任一種執行方式都有優點。如果您想僅允許一組特定的使用者可增加 CGI 程式,請將這些 CGI 程式保留在指定目錄中,然後限制對這些目錄的存取。如果您想允許可增加 HTML 檔案的所有人都能增加 CGI 程式,請使用檔案類型選項。使用者可將他們的 CGI 檔案與 HTML 檔案保留在相同目錄中。

如果您選擇了目錄選項,您的伺服器會嘗試將該目錄中的所有檔案解譯為 CGI 程式。同樣,如果您選擇了檔案類型選項,您的伺服器會嘗試將具有 .cgi.exe.bat 副檔名的任何檔案做為 CGI 程式處理。如果某個檔案具有其中一個副檔名,卻不是 CGI 程式,則使用者嘗試存取該檔案時將會發生錯誤。


備註 –

依預設,CGI 程式的副檔名為 .cgi.exe .bat。但是修改 MIME 類型檔案即可變更代表 CGI 程式的副檔名。您可以透過選擇 [伺服器喜好設定] 標籤並按一下 [MIME 類型] 連結來執行此作業。


為您的伺服器配置 CGI 子系統

Sun Java System Web Server 可讓您使用 Administration Console GUI 增加 CGI 文件目錄。

若要增加新的 CGI 文件目錄,請執行以下作業:

  1. 按一下 [配置] 標籤,並從配置清單中選取配置。

  2. 按一下 [虛擬伺服器] 子標籤,並從虛擬伺服器清單中選取虛擬伺服器。

  3. 按一下 [內容處理] 子標籤[CGI] 子標籤。

  4. 按一下 [新增] 按鈕來增加新的 CGI 文件目錄。

  5. 請為說明的欄位提供必要的值。按一下 [確定] 按鈕。如果需要,您可以按一下配置的 [部署] 按鈕。

下表說明了增加新的 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 指定為一種檔案類型,請執行以下作業:

  1. 按一下 [配置] 標籤,並從配置清單中選取配置。

  2. 按一下 [虛擬伺服器] 子標籤,並從虛擬伺服器清單中選取虛擬伺服器。

  3. 按一下 [內容處理] 子標籤[CGI] 子標籤。

  4. 按一下 [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。此解決方案還可以縮短下載時間。

另一種可能的解決方案就是將做為副檔名的 .exemagnus-internal/cgi 類型中移除,然後將其增加至 application/octet-stream 類型 (一般可下載檔案的 MIME 類型)。您可以透過在 Server Manager 中選擇 [伺服器喜好設定] 標籤,並按一下 [MIME 類型] 連結來執行此作業。但是,此方法的缺點就是在做出變更後,您無法將 .exe 檔案用做 CGI 程式。

另一個解決方案是編輯伺服器的 obj.conf 檔案,以設定下載目錄 (該目錄中的任何檔案都可以自動下載)。伺服器的其餘部分不受影響。如需更多資訊,請參閱:

http://developer.netscape.com/docs/manuals/enterprise/admnunix/programs.htm

為 Windows 安裝 Shell CGI 程式

適用於 Windows 的 Shell CGI 程式簡介

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 檔案的目錄。但是,您也可以透過從 Sun ONE Web Server 編輯 MIME 類型來配置伺服器,以便將特定副檔名與 shell CGI 相關聯。


備註 –

如需有關設定 Windows 副檔名的資訊,請參閱 Windows 文件。


自訂錯誤回應

您可以指定一個自訂錯誤回應,當用戶端遇到來自虛擬伺服器的錯誤時,會將詳細訊息傳送至用戶端。您可以指定一個要傳送的檔案或 要執行的 CGI 程式。

例如當伺服器遇到特定目錄的錯誤時,您可以變更伺服器的運作方式。如果用戶端嘗試連線至受存取控制保護的伺服器部分,您可以傳回錯誤檔案,說明如何取得帳號。

在您啟用自訂錯誤回應前,您必須先建立錯誤回應中要傳送的 HTML 檔案或要執行的 CGI 程式。

若要增加自訂錯誤頁面,請執行以下步驟:

  1. 按一下 [配置] 標籤,並從配置清單中選取配置。

  2. 按一下 [虛擬伺服器] 子標籤,並從虛擬伺服器清單中選取虛擬伺服器。

  3. 按一下 [內容處理] 子標籤[錯誤頁面] 子標籤。

  4. 按一下 [新增] 按鈕以增加自訂錯誤頁面。

    對於您要變更的各錯誤代碼,請指定包含錯誤回應的檔案或 CGI 的絕對路徑。

  5. 按一下 [確定] 以返回至錯誤頁面清單。


備註 –

使用 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 參數來變更其字元集。如果伺服器在其回應中包括此參數,則瀏覽器會相應地變更其字元集。範例為:

下列一些常用瀏覽器可識別的 charset 名稱是在 RFC 17.000 (以 x- 開頭的名稱除外) 中指定的:

  • us-ascii

  • iso-8859-1

  • iso-2022-jp

  • x-sjis

  • x-euc-jp

  • x-mac-roman

此外,以下為可識別的 us-ascii 別名:

  • ansi_x3.4-1968

  • iso-ir-6

  • ansi_x3.4-1986

  • iso_646.irv:1991

  • ascii

  • iso646-us

  • us

  • ibm367.0

  • cp367.0

 

以下為可識別的 iso_8859-1 別名:

  • latin1

  • iso_8859-1

  • iso_8859-1:1987.0

  • iso-ir-100

  • ibm819

  • cp819

若要變更字元集,請執行以下步驟:

Procedure變更字元集

  1. 從虛擬伺服器頁面,按一下 [內容處理] 標籤。

  2. 按一下 [一般] 標籤。

  3. 在 [其他] 區段下設定預設字元集。

    如果保留此欄位為空白,則字元集會設定為 NONE。

  4. 按一下 [Save]。

設定文件註腳

您可以指定文件頁尾,其可包含伺服器某部分中所有文件的最後修改時間。除 CGI 程序檔的輸出或剖析的 HTML (.shtml) 檔案之外,所有檔案均可使用此頁尾。如果您需要文件頁尾顯示在 CGI 程序檔輸出或已剖析的 HTML 檔案中,請將頁尾文字輸入至單獨的檔案中,並增加一行程式碼或另一個伺服器端包含,以將該檔案附加至此頁面的輸出中。

若要設定文件頁尾,請執行以下步驟:

Procedure設定文件頁尾

  1. 從虛擬伺服器頁面,按一下 [內容處理] 標籤。

  2. 按一下 [一般] 子標籤,然後移至 [文件頁尾] 區段。

  3. 請指定要包含此註腳的檔案之類型。

  4. 指定日期格式。

  5. 鍵入要在註腳中顯示的所有文字。

    文件頁尾最多可包含的字元數為 7.065。如果您要包含最後一次修改文件的日期,請鍵入字串 :LASTMOD:

  6. 按一下 [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)

您可以在伺服器中限制使用檔案系統連結。檔案系統連結是儲存在其他目錄或檔案系統中的檔案之參考。參考使得存取遠端檔案就像在目前目錄中存取此檔案一樣。有兩種類型的檔案系統連結:

如需有關強制連結與符號連結的更多資訊,請參閱 UNIX/Linux 系統文件。

檔案系統連結是在主文件目錄以外建立文件指標的一種簡易方法,任何人均可以建立這些連結。出於這種原因,您可能會擔心使用者建立敏感檔案 (例如,機密文件或系統密碼檔案) 的指標。

若要限定符號式連結,請執行以下步驟:

Procedure限制符號連結

  1. 從虛擬伺服器頁面,按一下 [內容處理] 標籤。

  2. 按一下 [一般] 子標籤。

  3. 移至 [其他] 區段下的 [符號連結] 區段。

  4. 選擇是否啟用符號連結和/或強制連結以及起始目錄。

  5. 按一下 [儲存]。


    備註 –

    使用 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 剖析。

若要剖析 HTML,請執行以下步驟:

Procedure設定伺服器剖析的 HTML

  1. 在虛擬伺服器頁面上,按一下 [內容處理] 標籤。

  2. 按一下 [一般] 子標籤。

  3. 在 [剖析的 HTML/SSI 設定] 下,選擇是否啟動伺服器剖析的 HTML。

    您可以針對 HTML 檔案而不針對 exec 標籤啟動,也可以同時針對 HTML 檔案與 exec 標籤啟動,這樣便可允許 HTML 檔案執行伺服器上的其他程式。

  4. 選擇要剖析的檔案。

    您可以選擇是僅剖析具有 .shtml 副檔名的檔案,還是剖析所有 HTML 檔案 (這會降低效能)。如果使用 UNIX/Linux,則還可以選擇剖析執行許可權處於開啟狀態的 UNIX/Linux 檔案,但這樣做不可靠。

  5. 按一下 [儲存]。

    如需有關使用伺服器剖析的 HTML 的更多資訊,請參閱「Sun Java System Web Server 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)


設定快取控制指令

快取控制指令是 Sun Java System Web Server 使用的一種控制方法,用來控制代理伺服器快取的資訊。使用快取控制指令,您可以置換代理伺服器的預設快取,以防止快取機密資訊 (也許稍後會被擷取)。若要使這些指令可以運作,代理伺服器必須遵守 HTTP 1.1。

如需有關 HTTP 1.1 的更多資訊,請參閱超文字傳輸協定--HTTP/1.1 規格 (RFC 2068),該協定位於:

http://www.ietf.org/

若要設定快取控制指令,請執行以下步驟:

Procedure設定快取控制指令

  1. 在虛擬伺服器頁面上,按一下 [內容處理] 標籤。

  2. 按一下 [一般] 子標籤並移至 [其他] 區段下的 [快取控制指令] 欄位。

  3. 填寫欄位。回應指令的有效值如下:

    • 公用。此回應可透過任何快取記憶體快取。此為預設值。

      • 私有。僅私有 (非共用) 快取記憶體才可快取回應。

      • 無快取記憶體。在任何位置均不能快取此回應。

      • 無存放區。此快取記憶體不能將任何位置的請求或回應儲存在永久性儲存體中。

      • 必須重新驗證。此快取項目必須由原始的伺服器重新驗證。

      • 最長作用時間 (秒)。用戶端不接受比此時間長的回應。

  4. 按一下 [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)


為內容壓縮配置伺服器

Sun Java System Web Server 7.0 支援 HTTP 內容壓縮。透過內容壓縮,您可以加快對用戶端的傳送速度,還可以提供更高的內容量,而不會增加硬體消耗。內容壓縮縮短了內容的下載時間,使需要撥號與多次連線的使用者明顯受益。

透過內容壓縮,Web 伺服器可傳送經過壓縮的資料,並指導瀏覽器快速解壓縮資料,這樣便可減少資料傳送量,並加快頁面顯示速度。

配置伺服器以提供預先壓縮內容

您可以配置 Sun Java System Web Server,以產生預先壓縮的檔案版本,並將其儲存在指定的目錄中。配置好之後,且只有在接收到 Accept-encoding: gzip 標頭時,只要是請求已配置用來提供預先壓縮內容的目錄中之檔案,這些請求就會全部重新導向為請求該目錄中的等效壓縮檔案 (如果存在該檔案)。例如,假設 Web 伺服器接收到對 myfile.html 的請求,而 myfile.htmlmyfile.html.gz 同時存在,則包含適當 Accept-encoding 標頭的這些請求會接收到經過壓縮的檔案。

若要將伺服器配置為提供預先壓縮的內容,請執行以下步驟:

Procedure變更預先壓縮的內容設定

  1. 在虛擬伺服器頁面上,按一下 [內容管理] 標籤。

  2. 按一下 [一般] 子標籤。

  3. 移至 [壓縮] > [預先壓縮的內容] 區段,並從以下選項中選取。

    • 預先壓縮的內容—啟用/停用。允許您指示伺服器為選取的資源提供預先壓縮的內容。

    • 作用時間檢查—指定是否檢查經過壓縮的版本比未壓縮的版本舊。

      如果選取此選項,則經過壓縮的版本比未壓縮的版本舊時,不會選取經過壓縮的版本。

      如果未選取此選項,則即使經過壓縮的版本比未壓縮的版本舊,一律會選取經過壓縮的版本。

    • 插入 Vary 標頭—指定是否使用 Vary: Accept-encoding 標頭。

      如果選取此選項,則選取檔案的壓縮版本時,一律會插入 Vary: Accept-encoding 標頭。

      如果未選取此選項,則不會插入 Vary: Accept-encoding 標頭。

  4. 按一下 [Save]。

將伺服器配置為依需求壓縮內容

您也可以將 Sun Java System Web Server 7.0 配置為快速壓縮傳輸資料。除非使用者要求,否則動態產生的 HTML 頁面不會存在。這對用於電子商務的 Web 應用程式和以資料庫為核心的網站特別有用。

若要將伺服器配置為依需求壓縮內容,請執行以下步驟:

Procedure依需求壓縮內容

  1. 在虛擬伺服器頁面上,按一下 [內容處理] 標籤。

  2. 按一下 [一般] 子標籤。移至 [壓縮] 區段下的 [依需求壓縮內容] 區段。

  3. 請從以下選項中選取:

    • 依需求壓縮—對所選資源啟用/停用依需求壓縮。

    • 插入 Vary 標頭—指定是否插入 Vary: Accept-encoding 標頭。

      如果已選取,則選取檔案的壓縮版本時,總是會插入 Vary: Accept-encoding 標頭。

      如果未選取,則不會插入 Vary: Accept-encoding 標頭。

    • 分段大小—以位元組為單位指定壓縮程式庫 (zlib) 要使用的記憶體分段大小,用於控制一次要壓縮多少資料。 預設值為 8096

    • 壓縮層級—指定壓縮層級。選擇 1 至 9 之間的值。數值 1 表示以最快速度進行壓縮;數值 9 表示產生最佳壓縮效果。預設值為 6,同時兼顧壓縮的速度和效果。

  4. 按一下 [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 伺服器 (原始伺服器),但實際上它是將接收到的請求轉送至一個或多個原始伺服器。因為反向代理伺服器以原始伺服器的姿態呈現,所以用戶端不需要進行配置即可使用反向代理伺服器。已知反向代理伺服器只要配置成將請求轉寄給多個配置相似的原始伺服器,就可以成為應用程式層級的軟體負載平衡器。


備註 –

在一般部署中,瀏覽器和原始伺服器之間會部署一個或多個反向代理伺服器。


Procedure增加代理伺服器 URI

  1. 按一下 [配置] 標籤,然後選取配置。

  2. 按一下 [虛擬伺服器] 標籤,然後選取虛擬伺服器。

  3. 按一下 [內容處理] > [反向代理伺服器] 標籤。

  4. 按一下 [新增代理伺服器 URI] 按鈕。

    指定以下參數的值:

    • URI —反向代理伺服器 URI

    • 伺服器 URL —以逗號分隔的遠端伺服器 URL。如果給定多個值,則伺服器將在指定的伺服器之間分配負載。

Procedure修改反向代理參數

  1. 按一下 [配置] 標籤,然後選取配置。

  2. 按一下 [虛擬伺服器] 標籤,然後選取虛擬伺服器。

  3. 按一下 [內容處理] > [反向代理伺服器] 標籤。

  4. 按一下 [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) 使網站能夠以標準格式 (可自動擷取且易於由使用者代理程式解釋) 表達網站的隱私權作法。P3P 使用者代理程式可讓使用者知道網站的作法 (以機器可讀和人類可讀兩種格式)。如需更多資訊,請參閱 http://www.w3.org/P3P/。

Procedure配置虛擬伺服器的 P3P 設定

  1. 選取配置。

    從配置清單中選取配置。按一下 [配置] 標籤以取得可用配置的清單。

  2. 選取虛擬伺服器。

    從虛擬伺服器清單中選取虛擬伺服器。按一下 [虛擬伺服器] 標籤,以取得所選配置的可用虛擬伺服器。

  3. 按一下 [一般] 標籤。配置 [P3P] 區段中的以下設定。

    • 已啟用—為選取的虛擬伺服器啟用 P3P。

    • 策略 URL 輸入相關 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)