Заблокированный хост: localhost ruby ​​на рельсах 6.0.0 - PullRequest
0 голосов
/ 18 октября 2019

Я разрабатываю свое первое приложение rails 6, но когда я пытаюсь использовать его в среде разработки за моим сервером nginx, я нахожу это сообщение

Blocked host: localhost

Я попытался добавить конфигурацию, упомянутую в сообщении об ошибке в config/environments/development.rb и config/application.rb, но она не сработала.

Я использую rails 6.0.0, ruby ​​2.6.5, nginx 1.10.3

Если я перейду к http://localhost:3000 (URL-адрес пумы напрямую), он будет работать нормально. Но я хочу знать, почему я получаю эту ошибку.

1 Ответ

0 голосов
/ 18 октября 2019

Host Authorization добавлен из-за DNS rebinding attacks, здесь есть более подробная информация, а также ссылка на более подробное объяснение.

Представьте ActionDispatch :: HostAuthorization Host Authorization - это новое промежуточное ПО, которое защищает от DNS rebinding attacks явно разрешив хостам запрос на отправку. Дополнительную информацию о самой атаке можно найти в этом посте Medium и в Объяснение атаки повторного связывания DNS Daniel Miessler . По умолчанию он установлен для всех приложений Rails 6 и позволяет при разработке использовать следующие хосты: IPAddr.new («0.0.0.0/0»), IPAddr.new («:: / 0»), «localhost»], поддерживает массивы RegExp, Proc, IPAddr и String или одна строка в конфигурации. Это означает, что в Rails 6 нам нужно будет явно указать наши домены в файлах конфигурации среды. Дополнительную информацию можно получить в коде HostAuthoriation и тестах HostAuthorization.

...