设置“ proxy_set_header X-Forwarded-Proto $ scheme”的区别; nginx位置{}的内部和外部

时间:2019-05-16 13:38:49

标签: node.js express nginx-reverse-proxy nginx-config

我试图将安全cookie传递给node express JS应用,并使用Nginx作为Web前端。为了成功实现,nginx应该将值“ https”传递给“ X-Forwarded-Proto”标头。如果我指定“ proxy_set_header X-Forwarded-For $ scheme;”,则安全cookie的实现将失败。在nginx位置{}块之外的地方有proxy_pass语句。

我想知道在nginx位置{}块内部和外部指定proxy_set_header的区别。

在这种情况下,安全Cookie将失败:

server {
  proxy_set_header X-Forwarded-Proto $scheme;
  location {
    proxy_pass http://127.0.0.1:8080;
  }
}

在这种情况下,安全cookie将通过:

server {
  location {
    proxy_pass http://127.0.0.1:8080;
    proxy_set_header X-Forwarded-Proto $scheme;
  }
}

0 个答案:

没有答案