Перенаправить с не-www на www с https на эластичном стебле, используя nginx для приложения ruby on rail
У меня есть настройка приложения ruby on rails на AWS эластичный beanstalk с использованием nginx и puma, мое требование - перенаправить все мои запросы с http://example.com
или же http://www.example.com
или же https://example.com
в https://www.example.com
, Также я не хочу, чтобы запрос от моих поддоменов был перенаправлен на www, как я не хочу http://subdomain.example.com
быть перенаправленным на https://www.expample.com
или же https://www.subdomain.example.com
,
Используя ссылку
Я смог перенаправить все свои запросы с http на https, но это не перенаправило не www на www запросы.
1 ответ
Я делаю это в моем routes.rb
файл:
# Redirect example.com => www.example.com
constraints(host: /^example\.com/i) do
match "/(*path)" => redirect { |params, _req| "https://www.example.com/#{params[:path]}" }, via: [:get, :post]
end
Это будет как для незащищенных, так и для безопасных подключений к https, но если вам действительно нужно сохранить http
запросы как небезопасные, тогда вы могли бы иметь более конкретные ограничения.