簡體   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