【问题标题】:Delete server header from response从响应中删除服务器标头
【发布时间】:2017-07-11 01:25:12
【问题描述】:

环境:- Rails 3.2,Ruby-2.1.1p76

Server: nginx/1.8.0 + Phusion Passenger 4.0.59
X-Powered-By: Phusion Passenger 4.0.59

我想从响应中删除这 2 个标头。我知道我可以编辑我的 nginx 配置并将 server_tokens 设置为 off 但有什么办法可以在代码库中处理这个问题?

【问题讨论】:

  • 我不这么认为,因为这些标头是在 Rails 处理后添加的。此外,Rails 3.2 已经过时,无疑存在许多安全漏洞。

标签: ruby-on-rails ruby ruby-on-rails-3 nginx


【解决方案1】:

为此,有一个名为headers more 的模块。您需要使用 Nginx 将其编译为动态/静态模块。

然后您可以通过以下语法在您的服务器块中添加/删除/修改标头:

添加/编辑标题:

more_set_headers "Server: Your_prefered_name";

删除标题:

more_clear_headers "Server";

【讨论】:

    【解决方案2】:

    我在 nginx 配置文件中使用这两个选项:

    passenger_show_version_in_header off;
    server_tokens off;
    

    这不是从标头中删除服务器字符串,但至少不显示版本:

    Server: nginx + Phusion Passenger
    X-Powered-By: Phusion Passenger
    

    【讨论】:

      猜你喜欢
      • 2014-11-06
      • 2016-05-09
      • 1970-01-01
      • 2010-11-13
      • 2021-06-22
      • 1970-01-01
      • 2017-09-17
      • 2014-04-19
      • 2014-06-19
      相关资源
      最近更新 更多