gpt4 book ai didi

node.js - 如何创建 http 将端口 80 上的 http 请求重定向到端口 443 上的 https?

转载 作者:塔克拉玛干 更新时间:2023-11-01 19:07:28 24 4
gpt4 key购买 nike

我想从类似 http://whatever.com/whatever?whatever 的 url 创建状态 301 重定向至 https://whatever.com/whatever?whatever .我正在使用 node.js,但我怀疑答案是否特定于 Node 。

我知道您可以使用这样的 url 编写“位置” header :

response.writeHead(301, {
'Location': request.url
});
response.end();

但是如何指定我希望重定向转到 https?

最佳答案

通常为此目的使用 301 永久重定向。要更改协议(protocol),您需要在 Location header 中包含协议(protocol)和主机:

var server = http.createServer(function(request, response){
var newUrl = 'https://' + request.headers.host + request.url;
response.writeHead(301, {
'Location': newUrl
});
response.end();
});

标准的 Node HTTP 包不会自动解析主机名和端口,所以如果你需要与非标准端口兼容,你应该使用像 Express 这样的包。轻松获取 req.hostname

关于node.js - 如何创建 http 将端口 80 上的 http 请求重定向到端口 443 上的 https?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29204943/

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