【问题标题】:Header Enrichment not working on HTTPs - nginxHeader Enrichment 不适用于 HTTPs - nginx
【发布时间】:2020-04-04 10:59:26
【问题描述】:

我有多个关于使用 SSL + nginx 丰富标头的问题

  1. 为什么 Header Enrichment 不适用于 Https?
  2. 我的一个项目在简单 HTTP 上启用了 HE(Header Enrichment),但是当我们在 HTTPs 中寻找特定的标头(例如 msisdn)时,它们丢失了。
  3. 我正在使用 nginx,因此我尝试添加标头并将请求从 http 返回到 https,但没有结果?我怎样才能做到这一点?以下是 nginx 代码块示例。

    server {
        listen   80; ## listen for ipv4; this line is default and implied
        listen   [::]:80; ## listen for ipv6
    
    location / {
            add_header X-my-header my-header-content;
            return 301 https://$host$request_uri?msisdn=$http_MSISDN;
       }
    
    
    }
    
  4. 我已经尝试添加查询参数,它工作正常,但我更关心标题方式。

谢谢。

【问题讨论】:

    标签: ssl nginx https http-headers nginx-reverse-proxy


    【解决方案1】:

    (1),(2)

    ISP 通过在请求中注入一些标头来执行 HE。这可以在 Http 中完成,因为他们可以轻松检查请求,但在 Https 的情况下这是不可能的,因为请求是加密的。

    有一些试验可以提供替代解决方案,但到目前为止还没有可靠或标准化的解决方案。

    查看更多:https://blog.apnic.net/2016/10/13/challenges-of-https/

    (3)

    我建议在单独的问题中提出这个问题。但是,我注意到您没有在 nginx 中配置 https 端点。请参阅: http://nginx.org/en/docs/http/configuring_https_servers.html

    (4)

    查询参数是 URL 的一部分,可以是 HTTP 或 HTTPs 或任何其他协议。这些不同于作为消息本身一部分的标头。

    【讨论】:

      猜你喜欢
      • 2020-01-31
      • 2014-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-24
      • 2012-03-27
      相关资源
      最近更新 更多