当前位置: 首页 > 知识库问答 >
问题:

在IBM Bluemix上使用节点red将http重定向到https

丁长卿
2023-03-14

使用Bluemix上的node red,我可以让我的应用程序在两个http://example.comhttps://example.com。然而,我希望我的应用程序是安全的,只能通过https访问。我找不到在Bluemix上运行的node red上将http重定向到https的方法。我只找到了在node上实现的方法。js/express和其他web服务器。

我还试图通过检测msg来重定向我的应用程序。请求。标题$wssc并使用http请求节点重定向到https url,但它不起作用(仍得到http响应)。

DNS上配置重定向也不是一个选项,因为AFAIK,你不能重定向http://example.comhttps://example.com,但你可以重定向http://example.comhttps://www.example.com.

请建议。

共有1个答案

谢旻
2023-03-14

您应该可以通过使用msg来实现这一点。请求。标题。x-forwarded-proto值,然后发送状态为301的响应,例如。

if (msg.req.headers['x-forwarded-proto'] == 'http') {
  msg.statusCode = 301;
  msg.headers = {
    location: 'https://' + msg.req.get('host') + msg.req.originalUrl
  }
  msg.payload = "";
  return [null, msg]
} else {
  return [msg, null]
}

如果你把它放在一个有两个输出的功能节点中,它会将重定向发送到第二个输出,否则会将其发送到第一个输出。

您也可以通过在设置中添加自己的httpNodeMiddleware功能来实现这一点。js像这样:

....
httpNodeMiddleware: function(req, res, next){
  if (req.headers['x-forwarded-proto'] == 'http') {
     res.redirect(301, 'https://' + req.get('host') + req.originalUrl);
  } else {
    next();
  }
},
...

这种方法意味着您不需要在流中使用任何重定向逻辑

旁注:您可能需要测试msg。请求。标题['$wssc']而不是msg。请求。标题$wssc

 类似资料:
  • 请不要向我推荐超过173票的长而详细的帖子。这对我不起作用。我也试过很多其他的(1,2,3,4)。他们都给我太多的重定向或错误500。因此,我的问题是: 用我的电流。htaccess,这就是发生的情况: https://www.dukescasino.com/-工作完美 https://dukescasino.com/-重定向到上面的内容,这很好 下面的两个选项加载罚款,但它应该重定向到https

  • 我正在尝试将所有http流量重定向到https。我尚未在服务器上安装SSL证书,并且正在使用cloudflare灵活SSL选项。 以下代码工作文件 但这让http://www.example.com转向了https://example.com 但是当我添加这个 重定向所有非www网址,如http://example.com到https://example.com 网站没有加载,并给我一个错误,说浏

  • 我们使用拉维5。要将http连接重定向到https,请使用中间件HttpsProtocol。 在我们的4个测试用例中,只有1个正确工作(最后一个重定向)。其他3种情况的中间件添加了url extra index.php。 http://www.aqualink.az/index.php ---

  • 我有一个使用http和https的SpringBoot 2.0应用程序。因此,在端口9080上,它服务于http协议,在端口9443上,它工作正常。我唯一想要的是重定向,如果用户输入例如:http://localhost:9443/e1 综上所述: http://localhost:9080/e1 https://localhost:9443/e1 http://localhost:9443/e1

  • 我正在使用spring boot(1.2.3)和嵌入式Undertow。出于安全原因,我更愿意将任何http请求重定向到https,但我找不到这样做的示例。 下面是spring boot和Tomcat的一个示例:spring Boot-embeded Tomcat HTTP到HTTPS重定向

  • 问题内容: 我如何在Spring Webflux中配置http-> https重定向?我需要将所有请求重定向到(据我所知,任何请求都应具有http状态响应,并带有更改http-> https)。在文档中未找到有关此信息的任何信息。我找到了这个答案,但它与tomcat有关。我有净值。 问题答案: 我找到了方法,希望对您有所帮助: