gpt4 book ai didi

node.js - Express 请求对象未正确报告 https

转载 作者:太空宇宙 更新时间:2023-11-03 22:10:10 26 4
gpt4 key购买 nike

我正在尝试将我网站的用户自动重定向到 https,但为了做到这一点,我需要知道他们是否已经通过 https 访问,否则我会进入无限重定向循环。

通过搜索,我尝试查看这些值

console.log('!!!!!!!!!ROUTING TO REDUX!!!!!!!!', request.secure, request.protocol, request.get('X-Forwarded-Protocol'));

但我看到这已被记录

2017-06-23T07:20:10.996750+00:00 app[web.1]: !!!!!!!!!ROUTING TO REDUX!!!!!!!! false http undefined

2017-06-23T07:20:11.028280+00:00 heroku[router]: at=info method=GET path="/" host=my-library-io.herokuapp.com request_id=3fc84fae-02bd-443a-8265-c45def605ba1 fwd="64.134.226.42" dyno=web.1 connect=0ms service=33ms status=200 bytes=2309 protocol=https

即使在查看 https 时也是如此。

网站在这里https://mylibrary.io/原始 Heroku 网址在这里 https://my-library-io.herokuapp.com/

两个 URL 都会加载,并在我的浏览器中显示为安全,但通过上面的第二个条目,两个 URL 也都显示为 https 日志;但无论是哪种情况,我都无法查看请求对象中的任何内容来推测我正在通过 https 查看。

最佳答案

使用request.get('X-Forwarded-Proto') ,而不是X-Forwarded-Protocol。正如你所看到的,它被 npm 包 heroku-ssl-redirect 使用。 。这个事实上的标准 HTTP header 也是 documented on Wikipedia .

关于node.js - Express 请求对象未正确报告 https,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44723727/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com