Домены и сертификаты
Команда orionplace добавляет домен в nginx, получает для него бесплатный сертификат Let's Encrypt и подключает его к витрине и вашему персональному бэкенду. Установка витрины запускает её сама; напрямую она нужна, чтобы добавить, проверить или удалить домен.
Как это работает
На порту 80 nginx только подтверждает сертификаты и перенаправляет на HTTPS. На порту 443 он передаёт запросы витрине с заголовками, по которым витрина выбирает ваш бэкенд. Сертификаты Let's Encrypt действуют 90 дней и продлеваются автоматически за 30 дней до окончания; после каждого продления nginx перезагружает настройки.
Добавьте домен
Запустите команду и ответьте на её вопросы:
sudo orionplace domain add shop.example.comОна спрашивает, обслуживать ли и www.shop.example.com (с перенаправлением на shop.example.com), какая витрина обслуживает домен и домен вашего персонального бэкенда. Затем проверяет бэкенд, проверяет, что домен ведёт на этот сервер, получает сертификат, записывает привязку домена в витрину и перезагружает nginx. Если шаг не удался, ничего не сохраняется, а команда объясняет, что исправить. Повторный запуск для того же домена исправляет его настройку.
Ваш персональный бэкенд
Введите домен бэкенда из профиля orionmarket.place, например my-shop.orionplace.app; полный адрес https://my-shop.orionplace.app/api тоже подходит. Команда проверяет, что бэкенд отвечает, прежде чем что-то менять. Витрина работает с одним бэкендом: если для витрины, у которой он уже есть, ввести другой, команда спросит, прежде чем переключить все её домены.
Если бэкенд ещё не принимает домен витрины, команда предупредит: добавьте домен в панели управления, в разделе «Домены». До этого витрина показывает ошибку инициализации.
Проверка DNS
Перед запросом сертификата команда проверяет по HTTP, что домен действительно ведёт на этот сервер, — так же, как это проверяет Let's Encrypt. Если нет, она показывает адрес, на который указывает домен, и адрес этого сервера. Создайте или исправьте A-запись, дождитесь обновления DNS и запустите команду снова.
Параметры
У каждого вопроса есть параметр, поэтому команда работает и без вопросов:
sudo orionplace domain add shop.example.com --app shop --backend my-shop.orionplace.app --www| Параметр | Что делает |
|---|---|
--app <name> | Витрина, которая обслуживает домен (см. sudo orionplace app list). Без параметра берётся единственная установленная витрина; если витрин нет, домен показывает заглушку до установки витрины. |
--no-app | Добавить домен без витрины. Он показывает заглушку до установки витрины. |
--backend <name.orionplace.app> | Домен персонального бэкенда. |
--www / --no-www | Обслуживать и www-имя домена с перенаправлением на домен (--www) или нет (--no-www). |
--email <address> | Адрес e-mail для уведомлений Let's Encrypt о сертификатах. |
--skip-dns-check | Пропустить проверку DNS, например если за домен отвечает прокси перед сервером. |
--yes | Брать значения по умолчанию вместо вопросов. |
Список и проверка доменов
Все домены с витриной, бэкендом, днями до окончания сертификата и статусом HTTPS:
sudo orionplace domain listПошаговая проверка одного домена: DNS, сертификат, бэкенд, служба витрины, привязка домена и ответ по HTTPS:
sudo orionplace domain check shop.example.comСертификаты
Продление запускается автоматически дважды в день. Посмотреть сроки или продлить сейчас сертификаты витрин, которые истекают в ближайшие 30 дней:
sudo orionplace cert list
sudo orionplace cert renewУдаление домена
Удаляет домен из nginx и из привязок доменов его витрины, затем спрашивает, удалить ли и сертификат:
sudo orionplace domain remove shop.example.com