gpt4 book ai didi

node.js - HTTPs 与用于 SPA 的expressjs staticFile

转载 作者:太空宇宙 更新时间:2023-11-04 02:06:19 26 4
gpt4 key购买 nike

我一直在挖掘各种网站/教程,试图找到我的问题的答案。也许我误解了一些有关 HTTPS 的想法。

好了,言归正传……我使用指向index.html的staticFiles在express(4)上托管我的SPA前端应用程序:

const express = require('express'); 
const auth = require('http-auth');
const app = express();
const basic = auth.basic({
file: `${__dirname}/login`
});

app.use(auth.connect(basic));

app.use(express.static(__dirname + '/dist'));

app.get('/*', function(req, res) {
res.sendFile(path.join(__dirname + '/dist/index.html'));
});
app.listen(process.env.PORT || 8080);

但是它仅在 HTTP 上运行,我想使用 HTTPS 托管它(后端也使用 HTTPS 来处理其请求)。

我知道 HTTPS 需要某种加密,因此请求不会以纯文本形式发送,但前端托管的应用程序是否也需要这种加密?如果可以的话,如何实现?

谢谢大家!

最佳答案

好的做法是在代理下托管 Node.js 应用程序(例如 nginx,即 commonly used for this case ),因为如果没有 root 权限,则无法在 80/443 端口上启动 Node.js 应用程序(使用 sudo 是 security issue )。

考虑到这一点 - 这个代理是 https 设置的最佳方式。例如,这里是保护 nginx with letsencrypt under ubuntu 的分步教程。 。您可以找到适用于您的操作系统和其他 Web 服务器的类似教程。

关于node.js - HTTPs 与用于 SPA 的expressjs staticFile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44198382/

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