HTTPs with expressjs staticFile for SPA



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

对,直截了当...我在 express(4( 上使用指向 index.html 的静态文件托管我的 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(,因为您无法在没有 root 权限的情况下在 80/443 端口上启动 node.js 应用程序(并且使用 sudo 是安全问题(。

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

最新更新