如何配置释放触发器服务器以在Azure App Service中通过HTTPS工作?

可在此处找到释放文档:https://unleash.github.io/docs/getting_started

有可用的资源来“保护”释放,但是没有提到通过HTTPS运行释放。我已经创建了一个身份验证中间件钩子,但是如果无法通过HTTPS进行部署,则将以加密方式发送客户端凭据-这是不可接受的。

我希望释放作为Azure App Service中的Web应用程序运行。如何按预期配置呢?

tobyye 回答:如何配置释放触发器服务器以在Azure App Service中通过HTTPS工作?

默认情况下,“释放”在端口4242上运行。释放开始功能使您可以自定义端口号,如下所示:

  unleash
  .start({
    databaseUrl: process.env.DATABASE_URL,port: {CUSTOM}
  })
  .then(unleash => {
    console.log(
      `Unleash started on port ${unleash.app.get('port')}`,);
  });

但是,如果将端口设置为443以支持HTTPS,则Azure应用服务将引发错误,该命令无权在该端口上运行:

 EACCES: permission denied 0.0.0.0:443

解决方案在于Azure的process.env.PORT变量:

如果输出process.env.PORT的值,您将看到一个动态值,例如:

\\.\pipe\fc1ef0b7-c1ce-4186-f9d8-fd0b5b0f6d0a

Azure正在环境中设置一个命名管道,Unleash可以将其用作其“端口”。因此,正确的释放设置如下:

  unleash
  .start({
    databaseUrl: process.env.DATABASE_URL,pipe: process.env.PORT 
  })
  .then(unleash => {
    console.log(
      `Unleash started on port ${unleash.app.get('port')}`,);
  });

请注意,将“管道”而不是“端口”选项作为“开始”的参数。在这种情况下,请不要指定“端口”选项。释放文档提供了有关管道如何与节点here一起工作的更多见解。

P.S。还可以从web.config rule中受益,该{{3}}将所有http连接重定向到https。

本文链接:https://www.f2er.com/3163463.html

大家都在问