Node.js/Express.js-如何向客户端呈现远程HTML文件?

Node.js/Express.js-如何向客户端呈现远程HTML文件?,html,node.js,express,cdn,Html,Node.js,Express,Cdn,我目前正在制作一个博客网站,该网站的作者有能力上传AMP HTML文件和文件工作所需的资产。html文件及其资产都被发送到我们的CDN 现在,当客户端访问example.com/13215链接中的网站时,服务器将获取参数13215,并检查它在数据库中引用的帖子,并检索到HTML文件的链接。如何使用Node.js/Express.js将此HTML文件发送到前端,即使它是远程文件 只要复制粘贴URL到response.sendFile()和response.render()函数就会抛出错误。我想先读

我目前正在制作一个博客网站,该网站的作者有能力上传AMP HTML文件和文件工作所需的资产。html文件及其资产都被发送到我们的CDN

现在,当客户端访问example.com/13215链接中的网站时,服务器将获取参数13215,并检查它在数据库中引用的帖子,并检索到HTML文件的链接。如何使用Node.js/Express.js将此HTML文件发送到前端,即使它是远程文件

只要复制粘贴URL到
response.sendFile()
response.render()
函数就会抛出错误。我想先读取文件内容,然后将其写入文件,然后再将其发送到客户端,但我认为这在性能方面不是一个好主意


有没有办法做到这一点?

如果是pdf文件,那么原始CDN应该可以正常工作
http://example.com/13215
是否与CDN中的某个不同URL相对应?如果是这样,您可以将客户端重定向到该URL。如果没有,那么您的服务器可能需要从CDN本身获取该文件,以便它可以呈现该文件,然后返回呈现的HTML作为对原始HTTP请求的响应。@SeifKhalid在这种情况下,我认为您可以读取该页面并将其内容发送回(如您所述)。另一种方法是尝试使用
节点http代理
转发web请求。,但是,根据您检索URL的方式,我担心这最终可能会成为一个相当粗糙的解决方案。您认为如何将html内容直接存储在数据库中,而仅将资产存储在CDN中?@SeifKhalid-如果您的服务器需要将html文件用作模板(填充数据)然后它需要存储在服务器上的某个地方。它可以存储在本地文件系统或数据库中。文件系统存储文件的效率可能更高。如果HTML文件只是一个普通HTML文件,那么您可以将其保留在CDN上,并从服务器重定向到它。注意:如果是第三方内容,而您将其存储在服务器上,并将其作为服务器上的模板处理,则您将使用所选模板系统评估安全问题。如果是pdf文件,则原始CDN应为workDoes
http://example.com/13215
是否与CDN中的某个不同URL相对应?如果是这样,您可以将客户端重定向到该URL。如果没有,那么您的服务器可能需要从CDN本身获取该文件,以便它可以呈现该文件,然后返回呈现的HTML作为对原始HTTP请求的响应。@SeifKhalid在这种情况下,我认为您可以读取该页面并将其内容发送回(如您所述)。另一种方法是尝试使用
节点http代理
转发web请求。,但是,根据您检索URL的方式,我担心这最终可能会成为一个相当粗糙的解决方案。您认为如何将html内容直接存储在数据库中,而仅将资产存储在CDN中?@SeifKhalid-如果您的服务器需要将html文件用作模板(填充数据)然后它需要存储在服务器上的某个地方。它可以存储在本地文件系统或数据库中。文件系统存储文件的效率可能更高。如果HTML文件只是一个普通HTML文件,那么您可以将其保留在CDN上,并从服务器重定向到它。注意:如果它是第三方内容,而您将其存储在服务器上并在服务器上作为模板进行处理,则您将需要评估所选模板系统的安全问题。