2017-05-05 20 views
0

我試圖這裏描述重定向不安全的端口上的流量,以確保端口: https://www.ibm.com/support/knowledgecenter/en/SSD28V_9.0.0/com.ibm.websphere.liberty.autogen.core.doc/ae/rwlp_config_httpProxyRedirect.html配置自由與httpProxyRedirect

相反的兩個端口都可用,我什麼也看不到在日誌中。就好像httpProxyRedirect根本沒有被配置。

<?xml version="1.0" encoding="UTF-8"?> 
<server description="CAST Liberty Server"> 
    <!-- Enable features --> 
    <featureManager> 
     <feature>webProfile-7.0</feature> 
    </featureManager> 

    <application id="app" context-root="/" type="war" location="${war.name}"> 
     <classloader apiTypeVisibility="spec, ibm-api, api, third-party" /> 
    </application> 

    <httpProxyRedirect id="defaultHttpProxyRedirect" httpPort="${http.port}" httpsPort="${https.port}" /> 

    <keyStore id="defaultKeyStore" password="pass" /> 
    <httpEndpoint host="*" httpPort="${http.port}" httpsPort="${https.port}" id="defaultHttpEndpoint" /> 

    <applicationMonitor updateTrigger="mbean" /> 
</server> 

回答

0

很可能是因爲缺少web.xml中的安全約束。該配置告訴服務器需要通過安全傳輸訪問哪些URL,然後將合格請求從非安全端口重新定向到安全端口。本教程可能有所幫助:https://docs.oracle.com/cd/E19798-01/821-1841/bncbk/index.html

另外,請記住server.xml中的httpProxyRedirect配置用於在應用程序服務器前有代理服務器時重定向。例如,您可以在主「www.ibm.com」主機上安裝代理服務器 - 偵聽HTTP端口80和HTTPS端口443.但該主機可能會將某些請求路由到其他某個主機上的Liberty應用程序服務器(如「 app1host.internal.ibm.com「)監聽不同的端口(即HTTP端口9080和HTTPS端口9443)。在這種情況下,只需在web.xml中使用安全限制就會嘗試將Liberty服務器上的客戶端請求從9080重定向到9443,而在www.ibm.com主機上 - 這些端口上沒有任何內容正在監聽。在這種情況下,你應該配置httpProxyRedirect這樣的:

<httpProxyRedirect httpPort="80" httpsPort="443" host="www.ibm.com" /> 

通過該配置,客戶端的HTTP請求到安全的URL將被重定向到www.ibm.com上的端口443,其中代理服務器將轉發請求app1host.internal.ibm.com 9443端口

希望這有助於 安迪