无法从服务器下载 Sitecore SXA 导出页面
Sitecore SXA Export Page could not be downloaded from the server
我的第一个 Sitecore 项目和我的任务是使用 Sitecore 的新 SXA 1.4 模块构建网站。当我决定要测试 Creative Exchange 导出功能以查看 Sitecore 会为我的前端开发人员生成什么样的标记时,我相处得很好并创建了我的主页的线框版本。我的第一次尝试没有任何问题,但我意识到我使用我不想要的线框主题导出了网站。在 Sitecore 的 documentation 之后,我通过在内容编辑器中右键单击它并选择脚本 > 新网站主题,尽职尽责地为我的网站创建了一个新主题。在主题创建期间一切顺利,所以我回到体验编辑器并选择新主题作为我的默认主题,然后再次尝试导出。导出包包含我每个页面的 HTML 个文件,但它们唯一的内容是说明无法从服务器下载 页面的文本! 在此之后,我尝试将主题改回到线框并再次导出,结果相同。我在这个项目上使用 Unicorn 序列化,我的主题作为谓词之一包含在内。我不确定导致导出停止运行的原因,但据我所知,它似乎是在 运行 创建新主题的脚本之后开始的。在此过程中我可能错过了什么?我尝试在谷歌上搜索 sitecore,但 无法从服务器下载页面 消息无济于事。
查看 Sitecore 日志我注意到了这个条目:
ManagedPoolThread #7 11:38:39 ERROR Creative Exchange: exporting page
https://fakesite.com/?sc_itemid=%7b12872DF3-557B-46A3-8464-3D697DCAD00A%7d&aodisabled=true&overlay=true&sc_mode=preview&CreativeExchangeExport=true&CreativeExchangeMode=AgencyDrop&sc_lang=en&sc_device=%7bFE5D7FDF-89C0-4D99-9AA3-B5FBD009C9F3%7d&sc_site=fakesite finished with error.
Exception: System.Net.WebException
Message: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
Source: System
at System.Net.HttpWebRequest.GetResponse()
at Sitecore.XA.Feature.CreativeExchange.Services.Export.PageRequestService.ReadUrl(HttpWebRequest request)
at Sitecore.XA.Feature.CreativeExchange.Services.Export.PageRequestService.RetrieveHtml()
此时我意识到 Sitecore 无法正确导出 Agency Drop SXA 包,因为我使用自签名 SSL 证书设置了我的开发站点。我在受信任的根证书颁发机构商店中有此证书,但 Sitecore 似乎使用其他方法检查 SSL 有效性。现在我刚刚切换到使用 HTTP 继续在网站上工作。
有一个名为 Sitecore.XA.Feature.CreativeExchange.config
的配置文件,其中包含设置 XA.Feature.CreativeExchange.SkipServerCertificateValidation
。将其更改为 true 应该可以解决自签名证书的问题。
2017年肯定不是这样,但现在可能是:
当您 运行 内含 SXA 的 Sitecore Docker 时,您需要确保您在浏览器中使用的地址在容器内可用。
SXA 在内部使用 HttpWebRequest
进行导出过程。作为 Web 请求的主机名,它采用当前上下文的 URL(它将是您在浏览器中输入的地址)。这就是为什么如果容器中有 Sitecore 并且您的网站地址不会在容器内解析,那么您将得到 无法从服务器下载页面。
我的第一个 Sitecore 项目和我的任务是使用 Sitecore 的新 SXA 1.4 模块构建网站。当我决定要测试 Creative Exchange 导出功能以查看 Sitecore 会为我的前端开发人员生成什么样的标记时,我相处得很好并创建了我的主页的线框版本。我的第一次尝试没有任何问题,但我意识到我使用我不想要的线框主题导出了网站。在 Sitecore 的 documentation 之后,我通过在内容编辑器中右键单击它并选择脚本 > 新网站主题,尽职尽责地为我的网站创建了一个新主题。在主题创建期间一切顺利,所以我回到体验编辑器并选择新主题作为我的默认主题,然后再次尝试导出。导出包包含我每个页面的 HTML 个文件,但它们唯一的内容是说明无法从服务器下载 页面的文本! 在此之后,我尝试将主题改回到线框并再次导出,结果相同。我在这个项目上使用 Unicorn 序列化,我的主题作为谓词之一包含在内。我不确定导致导出停止运行的原因,但据我所知,它似乎是在 运行 创建新主题的脚本之后开始的。在此过程中我可能错过了什么?我尝试在谷歌上搜索 sitecore,但 无法从服务器下载页面 消息无济于事。
查看 Sitecore 日志我注意到了这个条目:
ManagedPoolThread #7 11:38:39 ERROR Creative Exchange: exporting page
https://fakesite.com/?sc_itemid=%7b12872DF3-557B-46A3-8464-3D697DCAD00A%7d&aodisabled=true&overlay=true&sc_mode=preview&CreativeExchangeExport=true&CreativeExchangeMode=AgencyDrop&sc_lang=en&sc_device=%7bFE5D7FDF-89C0-4D99-9AA3-B5FBD009C9F3%7d&sc_site=fakesite finished with error.
Exception: System.Net.WebException
Message: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
Source: System
at System.Net.HttpWebRequest.GetResponse()
at Sitecore.XA.Feature.CreativeExchange.Services.Export.PageRequestService.ReadUrl(HttpWebRequest request)
at Sitecore.XA.Feature.CreativeExchange.Services.Export.PageRequestService.RetrieveHtml()
此时我意识到 Sitecore 无法正确导出 Agency Drop SXA 包,因为我使用自签名 SSL 证书设置了我的开发站点。我在受信任的根证书颁发机构商店中有此证书,但 Sitecore 似乎使用其他方法检查 SSL 有效性。现在我刚刚切换到使用 HTTP 继续在网站上工作。
有一个名为 Sitecore.XA.Feature.CreativeExchange.config
的配置文件,其中包含设置 XA.Feature.CreativeExchange.SkipServerCertificateValidation
。将其更改为 true 应该可以解决自签名证书的问题。
2017年肯定不是这样,但现在可能是:
当您 运行 内含 SXA 的 Sitecore Docker 时,您需要确保您在浏览器中使用的地址在容器内可用。
SXA 在内部使用 HttpWebRequest
进行导出过程。作为 Web 请求的主机名,它采用当前上下文的 URL(它将是您在浏览器中输入的地址)。这就是为什么如果容器中有 Sitecore 并且您的网站地址不会在容器内解析,那么您将得到 无法从服务器下载页面。