gpt4 book ai didi

javascript - 如何使用nginx在express上自动访问https协议(protocol)

转载 作者:行者123 更新时间:2023-12-03 04:12:42 29 4
gpt4 key购买 nike

我正在运行带有express模块​​的服务器nodeJs。网站是由React.js制作的,它是服务器端渲染。

我有域名:www.example.com、Route53,并应用了负载均衡器 AWS 证书管理器。

问题是当我输入 url http://www.example.com 时,我不知道如何自动访问 https://协议(protocol)

现在,我可以访问每个网址,如 http://www.example.comhttps://www.example.com

我找到了解决方案:

app.use (function (enter code herereq, res, next) {
if (req.secure) {
next();
} else {
res.redirect('https://' + req.headers.host + req.url);
}
});

但它不起作用...

什么是好方法???

<小时/>

更新

  1. 如果使用nodejs和express,如何设置端口?Express 阻止端口 80,所以我使用 sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3000 。连接端口是常用方法吗?

  2. 我有使用 SSL (ACM) 的负载均衡器,使用的端口是 80、443。如何直接访问“http”或“https”应该访问https。

最佳答案

部署 NodeJS 应用程序时,建议在 Node 服务器前面使用 Nginx 或 Apache 等 Web 服务器作为代理,用于 gzip 编码、静态文件服务、HTTP 缓存、SSL 处理、负载平衡等。

  • 一种选择是在代理级别进行重定向
  • 在 AWS 中,另一个选择是使用 Cloudfront 和 http 到 https 重定向来实现源行为(还可以在边缘位置级别缓存静态内容)

关于javascript - 如何使用nginx在express上自动访问https协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44267666/

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