相关疑难解决方法(0)

nginx 代理传递重定向忽略端口

因此,当我指向 nginx conf 中的 node.js 应用程序时,我正在设置一个虚拟路径。相关部分如下所示:

location /app {
  rewrite /app/(.*) /$1 break;
  proxy_pass http://localhost:3000;
  proxy_redirect off;
  proxy_set_header Host $host;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
Run Code Online (Sandbox Code Playgroud)

效果很好,除了当我的 node.js 应用程序(一个快速应用程序)调用重定向时。

例如,开发箱在端口 8080 上运行 nginx,因此节点应用程序根目录的 url 如下所示:

http://localhost:8080/app

当我从节点调用重定向到“/app”时,实际的重定向会转到:

http://本地主机/应用程序

nginx

50
推荐指数
4
解决办法
7万
查看次数

nginx - 使用 $http_host 危险吗?

从我自己的答案来看,我必须替换$host$http_host才能解决我的问题......

但这安全吗?

似乎$http_host所做的一切都是从标头中暴露整个内容HOST这里的解释对我来说仍然不清楚......

有谁知道为什么会$http_host更危险?


编辑

实际上,这是我的第三次编辑......读完后我应该重新考虑我的立场: https ://stackoverflow.com/questions/1459739/php-serverhttp-host-vs-serverserver-name-am-i-understanding -the-ma

我不确定 nginx 对此有何反应,但是你们认为 nginx 是否也符合 Chris 的测试结果,即两者都不安全?

什么情况下,使用$http_host时你能想到利用的办法吗?此外,为什么删除端口号很重要?

我知道有可能破坏网络,并发送一些信息Host: fake or old ip,然后在我在其他地方读到时执行重新绑定攻击?

nginx

4
推荐指数
1
解决办法
6914
查看次数

标签 统计

nginx ×2