HTTPS Redirect в Puma работает только для базового URL - PullRequest
0 голосов
/ 08 июня 2019

Мой сервер puma перенаправляет с http -> https (в разработке), но только с одним URL: localhost:3000. Как только я добавляю что-либо в конец (т. Е. localhost:3000/index), оно больше не перенаправляет (и страница выводит ошибки).

Есть ли опция конфигурации, которую я пропускаю (или нужно закомментировать)? В настоящее время у меня есть:
ssl_bind 'localhost', '3000' { ... } в config / puma.rb и
force_ssl = true в config / средах / development.rb.

1 Ответ

0 голосов
/ 10 июня 2019

force_ssl должен перенаправлять все запросы, поступающие на http-порт, на https, он ничего не может сделать, когда вы пытаетесь подключиться через http к порту https.

http и https должны быть привязаны к разным портам (опции bind и ssl_bind). Обычно сервер разработки http размещается на порту 3000, поэтому связывайте ssl с другим портом (например, 8443, стандартным для https является 443, но он привилегированный)

Также для разработки укажите ssl_options для перенаправления:

config.ssl_options = {  redirect: { status: 307, port: 8443 } }
...