在Heroku上为Node.js创建http或https服务器

时间:2018-03-14 19:17:15

标签: node.js http heroku https

我无法知道我是否应该为Heroku上托管的node.js创建HTTP或HTTPS服务器。显然,付费的Heroku应用程序现在可以处理SSL并默认通过HTTPS接收。当应用收到HTTPS请求时,Heroku负载均衡器会将请求转换为HTTP,然后将请求发送到您的应用。

所以似乎Heroku为您处理HTTPS / SSL,我们所要做的就是设置一个HTTP应用程序。

如果请求是作为HTTP从客户端发送的,则应添加以下代码以确保对发送的数据进行加密。

Exception calling "set_InnerXml" with "1" argument(s): "Unexpected end of file has occurred. Line 1, position 7."
At line:22 char:25
+                         $oldval.set_InnerXML($value)
+                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : DotNetMethodException

我错误地说我们应该使用http应用程序覆盖https,因为heroku处理加密?

1 个答案:

答案 0 :(得分:0)

Heroku提供SSL证书并为您配置,以便用户可以转到您网站的https版本。

您的答案中的代码是将用户从http转发到https,从根本上强迫所有用户使用您网站的https版本,这是一件好事。

所以代码的作用是:

1)检查用户是否登陆了具有http协议的页面

2)如果为true,则将用户重定向到同一地址的https版本

3)用户继续浏览https

中的网站

因此,当Heroku为您处理ssl时,您仍需要确保所有用户通过重定向http用户来使用SSL。