Cloud Foundry 上的 HTTPS 节点应用程序
是否可以在 Cloud Foundry 上部署一个 node.js 应用程序来侦听端口 443 上的 HTTPS 请求?
我可以在 Cloud Foundry 论坛中找到有关 SSL 支持的各种参考,但没有 HTTPS 应用程序的实际示例。文章“在 cloudfoundry 环境中设置 SSL”似乎表明我需要安装 nginx 并使用它,但那里没有足够的信息来告诉我需要做什么。
Is it possible to deploy a node.js app on Cloud Foundry that listens for HTTPS requests on port 443?
I can find various references to SSL support in the Cloud Foundry forums, but no actual examples of HTTPS apps. The article "Setup SSL on cloudfoundry landscape" seems to indicate that I need to install nginx and use that, but there is not really enough information there to tell me what I need to do.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
SSL 连接将在负载均衡器处终止,然后将未加密的 HTTP 连接转发到您的节点应用程序。
只需使用 https://your-app.cloudfoundry.com 而不是 http://...
The SSL connection will terminate at the loadbalancer and then forward the unencrypted HTTP connection to your node app.
Just use https://your-app.cloudfoundry.com instead of http://...
您不需要特别使用 nginx,但您确实需要能够侦听端口的东西(Cloud Foundry 目前将分配该端口,由环境变量
PORT
指示)或者,对于旧版本的 Cloud Foundry,VCAP_APP_PORT
)。因此,nginx将用于此目的,但如果您制作了一个node.js应用程序,则核心模块http(可选地与 express 配对)将是网络服务器的更自然选择。现在,如果您的应用程序需要 ssl,您可能会认为需要为 HTTPS 配置 Web 服务器(nginx、express 等),但您不需要这样做,因为 Cloud Foundry 会处理 SSL 并通过解密后的 HTTP 到您的网络服务器。
因此,如果您使用的是 Node.js 核心模块,请使用
http
,而不是https
模块。You don't need nginx in particular, but you do need something capable of listening to a port (which Cloud Foundry will assign at the moment, indicated by the environment variable
PORT
or, for older versions of Cloud Foundry,VCAP_APP_PORT
). So nginx will work for this purpose, but if you have made a node.js app, the core module http (optionally paired with express) would be a more natural choice of webserver.Now if your app requires ssl, you'd think that you'd need to configure your webserver (nginx, express, etc.) for HTTPS, but you do not need to do so because Cloud Foundry handles the SSL and passes the decrypted HTTP to your webserver.
So if you are using node.js core modules, use the
http
, nothttps
module.