如果設定為 true,rewrite-location 特性就會重寫原始的請求資訊,並納入通訊協定 (HTTP 或 HTTPS)、主機和連接埠資訊。依預設,rewrite-location 特性會設定為 true,以維持與先前 Application Server 發行版本的向下相容性。
rewrite-location 特性無法經由 asasmin create-http-lb-config 或 asadmin set 指令取得。如果要使用這項特性,請在匯出負載平衡器配置後,將該特性手動增加至 loadbalancer.xml 檔案。例如,將下列特性增加至所匯出的 loadbalancer.xml 檔案:
<property name="rewrite-location" value="false"/>
設定 rewrite-location 特性時,請記住下列要點:
如果 httpsrouting 為 false,而 Application Server 並未啟用 authPassthroughEnabled,則請將 rewrite-location 特性設定為 true。在 authPassthroughEnabled 未啟用的情況下,Application Server 將無法得知原始請求的通訊協定 (HTTP 或 HTTPS)。如果將 rewrite-location 設定為 true,負載平衡器會適當修改重寫位置的通訊協定部分。也就是說,如果用戶端正在傳送 HTTPS 請求,則負載平衡器會將用戶端重新導向至負載平衡器上已啟用 HTTPS 的偵聽程式連接埠。這項程序和 HTTP 請求相同。
如果 httpsrouting 為 false,並且啟用了 Application Server 上的 authPassthroughEnabled,則可將 rewrite-location 設定為 true 或 false,因為 Application Server 能夠得知用戶端請求是 HTTP 還是 HTTPS。啟用 authPassthroughEnabled 時,Application Server 會適當修改重寫位置的通訊協定部分。如果 rewrite-location 設定為 false,則負載平衡器不會重寫重新導向之 URL 的位置。這項特性如果設定為 true,則會重寫重新導向之 URL 的位置。但是重寫是沒有必要的,因為 Application Server 已經得知來自用戶端的 HTTPS 連線。另外,如果應用程式需要將 HTTP 重新導向至 HTTPS,或是將 HTTPS 重新導向至 HTTP,則必須將 rewrite-location 參數設定為 false。