Как удалить заголовок "X-Runtime" из Nginx/Passenger?
редактировать -- решение, которое я опубликовал ниже, вероятно, применяется к любому серверу (Nginx/Apache/anything else), потому что этот заголовок установлен в Rails.
кто-нибудь знает, где заголовок "X-Runtime" может быть удален в Nginx & Passenger?
Я захватил исходные файлы и еще ничего не нашел, но я хотел бы избавиться от него для безопасности, так как это признак Rails.
5 ответов
оказалось, что он не был установлен ни в Nginx, ни в пассажирском.
Это в бенчмаркинг.rb in / gems / actionpack-2.3.2 / lib/ action_controller/, строка 90.
Я знаю, что это старый вопрос, но поскольку проблема все еще существует, и многие сайты по-прежнему выставляют его версию passenger и nginx, я даю ответ, который очень хорошо работает для меня. То же самое решение применяется к заголовку X-Runtime.
просто установите 3rd party ngx_headers_more:http://github.com/agentzh/headers-more-nginx-module (Вы должны перестроить его из источника). Добавьте в свою конфигурацию (я создал /etc/nginx / conf.д/безопасность.conf для его): server_tokens от; more_clear_headers 'Server' 'X-Powered-By ''X-Runtime';
в Apache вы можете использовать mod_headers и чтобы удалить любой заголовок из ответа (или запроса на этот счет).
для удаления заголовков необходимо включить модуль:
# a2enmod headers
затем вы можете использовать параметр unset для директивы заголовка, чтобы отменить их:
Header unset X-Runtime
Header unset X-Powered-By
эта директива может использоваться как на глобальном уровне, и для одного виртуального сервера
для тех, кто все еще натыкается на это, я считаю, что самый простой и правильный способ сделать это в config/application.rb, добавив следующее:
config.middleware.delete(Rack::Runtime)
все остальные методы, похоже, не столько отключают заголовок, сколько фильтруют его от вывода. Это для rails4, не уверен, что это относится к другим версиям.
обновление:
следующий код в файле инициализатора может быть более надежным, поскольку существует Rack:: Runtime промежуточное ПО может быть принято некоторыми другими компонентами.
Rails.application.config.middleware.delete(Rack::Runtime)
следующее для Apache. Я неправильно понял вопрос. :)
включить модуль заголовки, mod_headers
, и добавьте следующее В конфигурацию Apache
Header always unset "X-Runtime"
вы, вероятно, также захотите удалить X-Powered-By
заголовок, поэтому добавьте следующее.
Header always unset "X-Powered-By"