【问题标题】:express modrewrite https and static filesexpress modrewrite https 和静态文件
【发布时间】:2015-07-23 06:16:39
【问题描述】:

我需要对我的后端进行快速重定向/重写(仅在特定端口上接受 https)并继续提供静态文件(前端),但似乎我有问题..

 var express = require('express');
var app = express();
var modRewrite = require('connect-modrewrite');


app.use("/",express.static(__dirname + "/build"));

app.use(modRewrite([
  '^/auth/signin https://127.0.0.1:8444/auth/signin'
]));

var server = app.listen(8000, function () {
  var host = server.address().address;
  var port = server.address().port;

  console.log('App listening at http://%s:%s', host, port);
});

【问题讨论】:

  • 你真的需要快递吗? nginx 在 ssl 终止、节点反向代理和提供静态资产方面更好。
  • 我也愿意使用其他东西而不是 connect-modrewrite
  • 这是要点。 1.使用nginx终止ssl并作为节点进程的反向代理。 2.使用nginx服务静态文件。 编辑 - 添加以上链接。 stackoverflow.com/a/10375750/710005
  • 是的,我知道! ,但这是用于开发,所以我运行此文件,在产品中我有 nginx :),但对于开发,我不想安装本地 nginx 太多配置以供新开发人员配置项目。
  • 没那么难,也不费时间。我可以给你写一个关于如何设置的要点。奖励积分 - 设置 vagrant/docker 并与您的团队分享。没有比这更容易了。

标签: node.js mod-rewrite express


【解决方案1】:

请更改

app.use(modRewrite(['^/auth/signin https://127.0.0.1:8444/auth/signin']));

app.use(modRewrite(['^/auth/signin https://127.0.0.1:8444/auth/signin [P]']));

来自文档: https://www.npmjs.com/package/connect-modrewrite#proxy-p

Proxy [P]
Proxy your requests

'^/test/proxy/(.*)$ http://nodejs.org/$1 [P]'

【讨论】:

  • 好收获! @BlackMamba,添加 P 并添加 process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0" 后,https 代理工作:)
猜你喜欢
  • 2017-10-27
  • 1970-01-01
  • 2016-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-25
  • 2019-04-29
相关资源
最近更新 更多