Настройка пользовательского домена с HTTPS для приложений Heroku

У вас есть приложение Heroku, и вы хотите сделать его публичным с помощью какого-нибудь причудливого домена с включенным HTTPS?

Я составил этот список, чтобы помочь вам настроить HTTPS для вашего следующего потрясающего проекта на Heroku.

Мне пришлось делать это несколько раз в прошлом месяце, поэтому это расширенная версия руководства, которое я написал для себя. 😬

Шаг 1.

Купите домен.

Шаг 2.

Войдите в консоль Heroku:

$ heroku login
heroku: Press any key to open up the browser to login or q to exit:
Opening browser to https://cli-auth.heroku.com/auth/browser/f34512meow-d14c-11c0-bafd-f12ff3d2499d
Logging in... done
Logged in as hello@akoskm.com
Войдите в полноэкранный режим Выйти из полноэкранного режима

Шаг 3.

Назначьте пользовательский домен вашему приложению Heroku:

$ heroku domains:add -a my-heroku-app my-heroku-app.akoskm.com
Adding my-heroku-app.akoskm.com to ⬢ my-heroku-app... done
 ▸    Configure your app's DNS provider to point to the DNS Target cute-cats-puivs2izaopsep1mcu2ae3m8li.herokudns.com.
 ▸    For help, see https://devcenter.heroku.com/articles/custom-domains

The domain my-heroku-app.akoskm.com has been enqueued for addition
 ▸    Run heroku domains:wait 'my-heroku-app.akoskm.com' to wait for completion
Войдите в полноэкранный режим Выйдите из полноэкранного режима

Шаг 4.

Где бы вы ни купили свой домен, у него должен быть редактор DNS, в котором вы можете добавить запись CNAME. Названия в вашем DNS-редакторе могут отличаться, но вот то, что вам нужно заполнить:

Zone name: my-heroku-app.akoskm.com
Fully qualified domain name: cute-cats-puivs2izaopsep1mcu2ae3m8li.herokudns.com. <- should be the DNS Target heroku domains:add gave you
Type: CNAME (this is usually prefilled if your DNS editor is smart enough)
TTL: 14400 (mine says 14400, that's the default)
Войти в полноэкранный режим Выйти из полноэкранного режима

Если вы используете CPanel в качестве DNS-редактора, вы увидите что-то вроде этого:

На этом этапе вы должны иметь возможность перейти на http://my-heroku-app.akoskm.com и увидеть свое приложение Heroku.
Доступ HTTPS на этом этапе не должен работать.

Шаг 5.

Теперь пришло время добавить SSL. Проверьте, включено ли автоматическое управление сертификатами для вашего приложения:

$ heroku certs:auto -a my-heroku-app
=== Automatic Certificate Management is disabled on my-heroku-app
Войдите в полноэкранный режим Выйдите из полноэкранного режима

Если оно еще не включено, включите его:

$ heroku certs:auto:enable -a my-heroku-app
Enabling Automatic Certificate Management... starting. See status with heroku certs:auto or wait until active with heroku certs:auto:wait
=== Your certificate will now be managed by Heroku.  Check the status by running heroku certs:auto.
Войти в полноэкранный режим Выйти из полноэкранного режима

Когда вы проверите статус, он должен отображаться примерно так:

$ heroku certs:auto -a my-heroku-app
=== Automatic Certificate Management is enabled on my-heroku-app

Certificate details:
Common Name(s): my-heroku-app.akoskm.com
Expires At:     2019-12-09 07:19 UTC
Issuer:         /C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
Starts At:      2019-09-10 07:19 UTC
Subject:        /CN=my-heroku-app.akoskm.com
SSL certificate is verified by a root authority.

Domain              Status       Last Updated
──────────────────  ───────────  ──────────────────
my-heroku-app.akoskm.com  Cert issued  less than a minute
Войти в полноэкранный режим Выйти из полноэкранного режима

В этот момент должен быть доступен сайт https://my-heroku-app.akoskm.com.

Надеюсь, это небольшое руководство помогло вам сэкономить время! Если вы нашли его полезным, пожалуйста, поделитесь им с другими. Спасибо!

Источник:

  • Heroku Dev Center: Пользовательские доменные имена для приложений
  • Heroku Dev Center: Автоматизированное управление сертификатами

Cover Photo by panumas nikhomkhai from Pexels

Оцените статью
devanswers.ru
Добавить комментарий