Как скрыть/остановить версию сервера в HTTP/1.1 200 OK в rails [nginx/1.0.6 + Phusion Passenger 3.0.9]

90
13

Привет в моем приложении rails. Я использую nginx/1.0.6, Phusion Passenger для размещения моего приложения rails. Но для проблемы безопасности я хочу остановить отображение заголовков в общедоступной сети. Теперь, когда я запускаю следующую команду curl. '

curl -I http://domain.name

это дает мне следующий след:

HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Status: 200
X-Powered-By: Phusion Passenger (mod_rails/mod_rack) 3.0.9
ETag: "b7da2b7b2fa6349"
X-UA-Compatible: IE=Edge,chrome=1
X-Runtime: 1.193656
Set-Cookie: demand_session=BAh7ByIQX2NzcmZfdG9rZW4iMUVMREdHRDJGcHhnVzhWNTNsRGhGSWRyNmRQbWZZSnpyZGcwbFYx3D%3D--eb470df0951aac0e6612861ef30ed7a699d073a0; path=/; HttpOnly
Cache-Control: max-age=0, private, must-revalidate
Server: nginx/1.0.6 + Phusion Passenger 3.0.9 (mod_rails/mod_rack)

Но я хочу скрыть эти заголовки: сервер, Set-Cookie, X-Powered-By, X-UA-Compatible, ETag, Cache-ControlCache-Control для отображения.

спросил(а) 2021-01-25T18:40:29+03:00 5 месяцев назад
1
Решение
89

Если вы используете прокси-сервер, вы можете использовать и настроить директив proxy_hide_header из proxy модуля тем, что:

proxy_hide_header X-Powered-By;
proxy_hide_header X-UA-Compatible;
proxy_hide_header X-Runtime;
proxy_hide_header ETag;

# and so on...

Но эта директива позволяет вам скрывать заголовки, исходящие от прокси-сервера. Для заголовков ответа, поступающих от главного сервера не проксите вы можете использовать директиву set и переменный $sent_http_HEADER где HEADER означает имя заголовка вы хотели бы установить. Вот пример:

set $sent_http_x_powered_by your_value;
set $sent_http_etag your_value;
set $sent_http_cache_control your_value;

# and so on...

Но принимать во внимание две вещи: 1. Set директива работает только в server, location и if блоки, 2. Как вы можете прочитать в комментариях к вашему вопросу не действительно хорошая идея, чтобы скрыть или изменить некоторые заголовки, как Cache-Control, потому что они Арен 't только информация, но влияет на работу браузеров и пользователей.

ответил(а) 2021-01-25T18:40:29+03:00 5 месяцев назад
78
ответил(а) 2021-01-25T18:40:29+03:00 5 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема