問題
- Allow users to add <portlet> to any website "チェックボックスを有効にしているにもかかわらず、別のサイト(ドメインが異なる)にウィジェットを埋め込むことができません。
- "<ホスト名> 、接続を拒否しました" というエラーが表示されることがある。
環境
- Liferay DXP 7.3
解像度
- 現在、"Allow users to add <portlet> to any website "チェックボックスは、特にWidget Pagesにのみ影響します。
- このコンフィギュレーションの目的は、ウィジェットページで新しいポートレットメニュー項目「Add to any Website」を許可することです。
- このポートレットメニュー項目は、ポートレット環境設定 > 共有タブと同様に、iframeコードを含むポップアップを開きます。
- ウィジェットの埋め込みをブロックする問題は、クリックジャッキングを防ぐために、LiferayがX-FRAME-Optionsを通して異なるドメインへの埋め込みをブロックすることです。 ブラウザのコンソールを表示し、X-FRAME-Optionsエラーがあるかどうかを確認することで確認できます。
- ウィジェットの埋め込みを有効にするには、system-ext.propertiesファイルのウィジェットと埋め込み先ドメインのX-FRAME-Optionsを以下のように設定する:
http.header.secure.x.frame.options.1=/widget/web/guest/<widget-uuid>/ |ALLOW-FROM https://<other-domain>
<widget-uuid> は、iframeコードから取得できます。
-
- system-ext.propertiesファイルは、プラットフォーム・インストールのクラス・パスに設定されることに注意してください(Tomcatの場合、{LR_HOME}/{Tomcat}/WEB-INF/classes/など)。