Heroku SSL в корневом домене

Я пытаюсь настроить SSL для своего приложения heroku. Я использую надстройку SSL на основе имени хоста. В документации heroku говорится следующее:

Hostname based SSL will not work with root domains as it relies on CNAME 
aliasing of your custom domain names. CNAME aliasing of root domains is 
an RFC violation. 

Как и ожидалось, все работает хорошо, когда я захожу на сайт с помощью поддомена www , то есть https://www.foo.com . Браузер жалуется, когда я открываю https://foo.com , поскольку представленный сертификат предназначен для heroku.com.

Я пришел к выводу, что мне нужно перенаправить трафик для foo.com на www.foo.com , чтобы решить эту проблему. Я рассматриваю следующие подходы:

1) Перенаправление на основе DNS

DNS-провайдер Zerigo поддерживает записи перенаправления . Я наткнулся на ​​вопрос на похожую тему по SO. Я попробовал решение, оно работает ТОЛЬКО для перенаправления HTTP (документация Zerigo это подтверждает).

Моя конфигурация Zerigo:

foo.com      A             x.x.x.x
foo.com      redirect      http://www.foo.com
www.foo.com  CNAME         zzz.amazonaws.com

2) Перенаправление на основе стойки

Добавьте промежуточное ПО на основе стойки для выполнения перенаправления. Гем canonical-host обеспечивает такую ​​поддержку.

use CanonicalHost do
  case Rails.env.to_sym
    when :staging     then 'staging.foo.com'
    when :production  then 'www.foo.com'
  end
end

Мне интересно, есть ли для этого лучшее решение (запрет перехода на SSL на основе IP за 100 долларов в месяц)

33
задан Community 23 May 2017 в 12:02
поделиться