用于SPA的expressjs staticFile的HTTP

时间:2017-05-26 09:42:53

标签: node.js express https routing single-page-application

我一直在挖掘网站/教程的音调,试图找到我的问题的答案。也许我误解了关于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需要某种加密,因此请求不会以纯文本形式发送,但是前端托管应用还需要它吗?如果是这样,它将如何实现?

谢谢你们!

1 个答案:

答案 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服务器的类似教程。