【问题标题】:HTTPs with expressjs staticFile for SPA用于 SPA 的带有 express js 静态文件的 HTTPs
【发布时间】:2017-10-27 03:49:16
【问题描述】:

我一直在挖掘各种网站/教程,试图找到我问题的答案。也许我误解了一些关于 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 express https routing single-page-application


    【解决方案1】:

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

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-07
    • 1970-01-01
    • 1970-01-01
    • 2020-10-15
    相关资源
    最近更新 更多