Назад | Перейти на главную страницу

Могу ли я безопасно удалить заголовок Via http?

У меня есть служба с выходом в Интернет, которая предоставляет API через https - json, xml и т.п. - что-то вроде https://api.example.org/api/foo. API обычно создаются из внутренних корпоративных сервисов, но даже если мы делаем запросы к внешнему интернет-сервису, я хочу, чтобы они отображались для клиентов как мои сервисы.

С точки зрения пользовательского агента https://api.example.org является сервером Origin.

Мы купили модный шлюз API от поставщика, чтобы защитить API. Все идет нормально.

В настоящее время шлюз добавляет заголовок Via к запросам, которые содержат внутреннее имя хоста сервера, обрабатывающего запрос, что не очень хорошо.

 > GET /api/foo/bar HTTP/1.1
 > User-Agent: curl/7.37.1
 > Host: api.example.org
 > Accept: */*
 > 
 < HTTP/1.1 200 OK
 < Content-Type: application/json
 < Date: Thu, 15 Mar 2015 22:11:46 GMT
 < Max-Forwards: 20
 * Server Apache-Coyote/1.1 is not blacklisted
 < Server: Apache-Coyote/1.1
 < Via: 1.0 myinternalhostname.local (Apache-Coyote/1.1)
 < transfer-encoding: chunked
 < Connection: keep-alive

Могут они использовать это или нет, но я не хочу, чтобы боты и плохие парни знали мои имена хостов.

Могу ли я удалить заголовок Via, или я должен очистить его до публичного имени, например

< Via: 1.0 api.example.org (Apache-Coyote/1.1) 

Я знаю, почему существует заголовок Via, и я не думаю, что мой сервер api должен соответствовать RFC, поскольку он действует как сервер Origin. (хотя на самом деле это шлюз / обратный прокси, клиенту это не нужно знать).

TL; DR

Безопасно ли удалять заголовок Via с сервера Origin?

Заголовок Via предназначен для перекладывания вины на кого-то другого.

Совершенно приемлемо удалить или не создавать его, если он не служит этой цели.