執行您自己的通用編輯器服務 local-ue-service
了解如何執行您自己的通用編輯器服務,無論是為了本機開發或做為基礎結構的一部分。
概觀 overview
通用編輯器服務將通用編輯器和後端系統進行繫結。為讓通用編輯器能夠進行本機開發,您必須執行通用編輯器服務的本機副本。這是因為:
- Adobe 的官方通用編輯器服務為全球託管,而您的本機 AEM 實例將必須在網際網路中公開。
- 使用本機 AEM SDK 進行開發時,無法從網際網路存取 Adobe 的通用編輯器服務。
- 若您的 AEM 實例具有 IP 限制,且 Adobe 的通用編輯器服務不在所定義的 IP 範圍內,則您可以自行託管此實例。
使用案例 use-cases
若您希望執行以下操作,則您自己的通用編輯器服務副本有很大的用處:
- 在 AEM 上進行本機開發,以便能與通用編輯器搭配使用。
- 將您自己的通用編輯器服務納入基礎結構當中執行,獨立於 Adobe 的通用編輯器服務之外。
兩種使用案例皆支援。本文件將說明如何使用 HTTPS 搭配通用編輯器服務的本機副本執行 AEM。
若您希望將自己的通用編輯器服務納入基礎結構當中執行,您可以按照與本機開發範例相同的步驟進行操作。
將 AEM 設定為在 HTTPS 上執行 aem-https
處於由 HTTPS 保護的外部框架內,無法載入不安全的 HTTP 框架。Universal Editor 服務會在 HTTPS 上執行,因此 AEM 或任何其他遠端頁面也必須在 HTTPS 上執行。
為此,您需要將 AEM 設定為在 HTTPS 上執行。出於開發目的,您可以使用自我簽署憑證。
參閱此文件了解如何設定 AEM 在 HTTPS 上執行,包括您可以使用的自我簽署憑證。
安裝通用編輯器服務 install-ue-service
通用編輯器服務不是通用編輯器的完整副本,只包含其部分功能,以確保來自本機 AEM 環境的呼叫不會在網際網路進行路由,而是由您控制的已定義端點進行路由。
執行通用編輯器服務的本機副本需要 NodeJS 版本 20。
通用編輯器服務可透過 Software Distribution 取得。關於如何存取通用編輯器的詳細資訊,請參閱 Software Distribution 文件。
將來自 Software Distribution 的檔案 universal-editor-service.cjs
儲存到您的本機開發環境。
建立憑證以透過 HTTPS 執行 Universal Editor 服務 ue-https
Universal Editor 服務還需要憑證才能在開發環境中在 HTTPS 上執行。
執行以下命令。
$ openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem
該命令會產生一個 key.pem
和一個 certificate.pem
檔案。將這些檔案儲存至與您 universal-editor-service.cjs
檔案相同的路徑。
進行通用編輯器服務設定 setting-up-service
必須在 NodeJS 中設定許多環境變數,才能在本機上執行 Universal Editor 服務。
在與您 universal-editor-service.cjs
、key.pem
和 certificate.pem
檔案相同的路徑上,建立一個包含以下內容的 .env
檔案。
UES_PORT=8000
UES_PRIVATE_KEY=./key.pem
UES_CERT=./certificate.pem
UES_TLS_REJECT_UNAUTHORIZED=false
UES_CORS_PRIVATE_NETWORK=true
這些是我們範例中本機開發所需的最低值。
UES_CORS_PRIVATE_NETWORK
選項來啟用 CORS 標頭傳送功能,才能存取私人網路。下列表格詳細列出這些值以及其他可用值。
UES_PORT
8080
UES_PRIVATE_KEY
UES_CERT
UES_TLS_REJECT_UNAUTHORIZED
true
UES_DISABLE_IMS_VALIDATION
false
UES_ENDPOINT_MAPPING
範例:
UES_ENDPOINT_MAPPING='[{"https://your-public-facing-author-domain.net": "http://10.0.0.1:4502"}]'
結果:通用編輯器服務會連結至
http://10.0.0.1:4502
而非所提供的連線 https://your-public-facing-author-domain.net
UES_LOG_LEVEL
info
silly
、trace
、debug
、verbose
、info
、log
、warn
、error
以及 fatal
UES_SPLUNK_HEC_URL
UES_SPLUNK_TOKEN
UES_SPLUNK_INDEX
UES_SPLUNK_SOURCE
universal-editor-service
.env
檔案中必須擁有以下變數。為達到向後相容性,這些值在 2024 年 10 月 1 日之前皆受到支援。EXPRESS_PORT=8000
EXPRESS_PRIVATE_KEY=./key.pem
EXPRESS_CERT=./certificate.pem
NODE_TLS_REJECT_UNAUTHORIZED=0
執行 Universal Editor 服務 running-ue
若要啟動 Universal Editor 服務,請執行下列命令:
$ node ./universal-editor-service.cjs
此命令應該會將以下內容輸出到您的終端:
Universal Editor Service listening on port 8000 as HTTPS Server
確保服務啟動 HTTPS 伺服器而不是 HTTP 伺服器。
使用本機 Universal Editor 服務而不是全域服務 using-local-ue
Universal Editor 會根據頁面的偵測方式,知道要使用哪個 Universal Editor 服務來編輯頁面。這是透過載入 Universal Editor 頁面的中繼標記來完成。
對於要使用您本機 Universal Editor 服務所編輯的頁面,您必須設定以下中繼標記:
<meta name="urn:adobe:aue:config:service" content="https://localhost:8000">
設定完成後,您應該會看到每個內容更新呼叫都會前往 https://localhost:8000
,而不是預設的 Universal Editor 服務。
https://localhost:8000
而導致 404
錯誤。這是預期的行為。https://localhost:8000/corslib/LATEST
。如需詳細資訊,請參閱下一區段。使用本機 Universal Editor 服務編輯頁面 editing
有了在本機執行的通用編輯器服務以及經檢測為使用本機服務的內容頁面,您現在即可啟動編輯器。
- 開啟您的瀏覽器,前往
https://localhost:8000/ping
。 - 指示您的瀏覽器接受您的自我簽署憑證。
- 一旦自我簽署憑證受到信任,您就可以使用本機通用編輯器服務編輯頁面。