我一直在挖掘网站/教程的音调,试图找到我的问题的答案。也许我误解了关于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需要某种加密,因此请求不会以纯文本形式发送,但是前端托管应用还需要它吗?如果是这样,它将如何实现?
谢谢你们!
答案 0 :(得分:0)
良好的做法是在代理下托管node.js应用程序(例如commonly used for this case的nginx),因为你无法在没有root权限的情况下在80/443端口上启动node.js应用程序(并使用sudo它是security issue)。
考虑到这一点 - 此代理是https设置的最佳方式。例如,这里是保护nginx with letsencrypt under ubuntu的分步教程。您可以找到适用于您的操作系统和其他Web服务器的类似教程。