由於反向代理伺服器的運作方式之故,所以將 .pac 檔案用在代理伺服器與伺服器上會非常困難。當代理伺服器收到檔案請求時,必須判斷該請求是要存取本地 .pac 檔案或遠端文件。
若要將代理伺服器當做反向代理伺服器 (除了維護與提供 .pac 檔案功能之外),請編輯 obj.conf 檔案,以確定 NameTrans 函數的順序是正確的。
建立標準對映,將代理伺服器當做反向代理伺服器。此動作通常會告訴代理伺服器將所有請求路由至遠端內容伺服器。您可以增加代理伺服器自動配置檔案,並將它對映到特定目錄,例如 /pac。在此情況下,想要取得 .pac 檔案的任何用戶端都必須使用如下 URL:
http://proxy.mysite.com/pac
建立此對映時,請務必確定遠端內容伺服器沒有類似的目錄。
編輯 obj.conf 檔案,以確保代理伺服器自動配置檔案的指令與函數出現在其他對映之前。此指令與函數必須在最前面,因為代理伺服器通常會先執行所有 NameTrans 函數,才處理請求。然而,透過自動配置檔案,代理伺服器會立即識別路徑並傳回 .pac 檔案。
下列範例是來自使用反向代理伺服器並維護自動配置檔案的 obj.conf 檔案。
<Object name="default"> NameTrans from="file:" fn="map" to="ftp:" NameTrans from="/pac" fn="pac-map" name="file" to="/ns-home/proxy/pac/proxy.pac" NameTrans fn="redirect" from="http://foo.*" url="http://www.acme.com" NameTrans from="/ns-icons" fn="pfx2dir" dir="/ns-home/ns-icons" name="file" NameTrans fn="reverse-map" from="http://web.acme.com" to="http://proxy.acme.com:8080" NameTrans fn="map" from="http://proxy.acme.com:8080" to="http://web.acme.com" NameTrans fn="map" from="/" to="http://web.acme.com" PathCheck fn="url-check" Service fn="deny-service" AddLog fn="flex-log" name="access" AddLog fn="urldb-record" </Object>