legacy-knowledge-base
公開されました Sep. 10, 2025

LiferayページのHTMLソースコードにフロントエンドサーバーまたはロードバランサーのIPが表示される。

written-by

Jorge Diaz

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!

While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

legacy-article

learn-legacy-article-disclaimer-text

問題

  • 私たちは、"view page source "オプションで、任意のLiferayページのHTMLソースコードを開き、 getRemoteAddr テキストを検索すると、javascriptコード上の内部フロントエンドサーバーまたはロードバランサーIPを見ることができることを検出しました。
  • このIP情報をソースコードから削除するにはどうすればよいですか?

Environment

  • DXP 7.4

解決策

問題の根本的な原因

  • javascript code getRemoteAddr where internal information is located was added in LPS- 。160188 から 許可 アクセス から javascript 展開 から ユーザー' IP 情報 から which he/she accesses server (see commit afaf024959c42bf67f16408bc632259f9b60354a)

  • この 断片 単に javascript コード 結果 httpServletRequest.getRemoteAddr() バックエンドでは、問題の根本原因はアプリケーションサーバーがロードバランサーからのIPを真のクライアントIPであると思い込んで受け取っていることです。

ソリューションです:

フロントエンドサーバーやロードバランサーは通常、リクエストの X-Forwarded-For ヘッダーに元のIP Clientを格納します。

アプリケーションサーバーやウェブアプリケーションで、このヘッダーを使用してIP Clientを取得するように設定すれば、 HttpServletRequest.getRemoteAddr() が正しい情報を返します。

選択肢は2つです:

オプション1: Tomcat Remote IP Valve をアプリケーションサーバー設定アプリケーションに追加する。

  • [LIFERAY_HOME]/tomcat-9.x.x/conf/server.xml ファイルを編集してください。
  • ホスト」セクションにTomcatリモートIPバルブを追加します:
    • <Valve className="org.apache.catalina.valves.RemoteIpValve" 
      internalProxies="x.x.x.x"
      remoteIpHeader="X-Forwarded-For"
      proxiesHeader="X-Forwarded-By"
      protocolHeader="X-Forwarded-Proto" />

オプション2: Tomcat IP Filter を Liferay Web アプリケーションに追加します。 これは前のオプションと似ていますが、設定はLiferayウェブアプリケーションにのみ適用されます:

  • [LIFERAY_HOME]/tomcat-9.x.x/webapps/ROOT/WEB-INF/web.xmlファイルを編集してください。
  • Tomcat IP Filterを追加します:
    •      <filter>
             <filter-name>RemoteIpFilter</filter-name>
             <filter-class>org.apache.catalina.filters.RemoteIpFilter</filter-class>
             <init-param>
               <param-name>allowedInternalProxies</param-name>
               <param-value>192\.168\.0\.10|192\.168\.0\.11</param-value>
             </init-param>
             <init-param>
               <param-name>remoteIpHeader</param-name>
               <param-value>X-Forwarded-For</param-value>
             </init-param>
             <init-param>
               <param-name>remoteIpProxiesHeader</param-name>
               <param-value>X-Forwarded-By</param-value>
             </init-param>
             <init-param>
               <param-name>protocolHeader</param-name>
               <param-value>X-Forwarded-Proto</param-value>
             </init-param>
           </filter>

追加情報

did-this-article-resolve-your-issue

legacy-knowledge-base