繁体   English   中英

在Azure网站上访问Node.js https应用

[英]access nodejs https app on Azure websites

我在Azure上部署了NodeJS https服务器

https.createServer(options,app).listen(8080,()=> {console.log(“正在监听8080”)});;

从上面的代码片段可以看到,它正在侦听端口8080

我应该如何访问Azure网站上的服务器?

https://myapp.azurewebsites.net/https://myapp.azurewebsites.net:8080/

在给出答案之前,您需要了解一些有关Azure Web App的重要概念。

  • Azure Web App是一个沙盒。 可以通过Internet访问Azure Web应用程序的唯一方法是仅通过两个已经公开的HTTP(80)和HTTPS(443)TCP端口。
  • 对于部署到Azure的Nodejs App,Azure将创建一个命名管道供您的服务器侦听,并将请求从443端口(使用https时)传递到该命名管道。 nodejs应用程序中的特定端口(即使您使用443)也无效,并且会导致服务器内部错误(500)。

因此,您应该使用process.env.PORT而不是8080并使用URL https://myapp.azurewebsites.net访问您的站点。 如果您在日志中输出管道,则可以看到它。

有关Azure Web App沙箱的更多详细信息。

此外,您可以参考此nodejs Web应用程序部署教程此应用程序样本

好的,我找到了https://docs.microsoft.com/en-gb/azure/cloud-services/cloud-services-configure-ssl-certificate-portal

似乎azure处理https

所以没有必要

https.createServer(options,app).listen(8080,()=> {console.log(“正在监听8080”)});;

只是标准

app.listen(process.env.port)

process.env.port是Azure提供的端口

也可以设置为仅使用https(即所有传入的http都重定向到https)是指

https://blogs.msdn.microsoft.com/benjaminperkins/2017/11/30/how-to-make-an-azure-app-service-https-only/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM