Бесконечный редирект между GitHub и GoDaddy

У меня возникла проблема с веб-сайтом, который я размещаю на GitHub с доменом от GoDaddy.

Сайт находится по адресу griftertheband.com

Иногда я получаю сообщение «Safari не может открыть страницу, потому что произошло слишком много перенаправлений», когда я пытаюсь получить доступ к сайту на своем iPhone. В браузере Chrome я получаю сообщение об ошибке «Эта страница не работает. jon424.github.io перенаправлял вас слишком много раз».

Я выполнил инструкции «Управление собственным доменом для вашего сайта GitHub Pages», которые можно найти в документации GitHub здесь: https://docs.github.com/en/pages/configuring-a-custom-domain-for- ваш-github-pages-site/управление-собственным-доменом-для-вашего-github-pages-сайта.

Код сайта находится на GitHub. Это довольно простой репозиторий: https://github.com/jon424/grifter со следующей структурой:

/img
about.html
favicon.ico
index.html

В разделе «Страницы GitHub» я вижу, что мой сайт доступен по адресу http://griftertheband.com/.

В разделе «Пользовательский домен» у меня есть «griftertheband.com». Появляется сообщение «Идет проверка DNS», что странно, потому что я знаю, что эта проверка в прошлом была успешной, но кажется, что сейчас она застряла в процессе «проверки»:

Что касается GoDaddy, у меня есть много записей DNS для griftertheband.com. Вот как выглядит моя страница записей DNS (три скриншота для нумерации страниц):

Похоже, я упускаю что-то, что могло бы предотвратить это бесконечное перенаправление? Спасибо за любую информацию.

Редкие достижения на Github ✨
Редкие достижения на Github ✨
Редкая коллекция доступна в профиле на GitHub ✨
0
0
67
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Происходит кое-что, но я почти уверен, что вы пропустили эту часть документации:

Чтобы опубликовать пользовательский сайт, необходимо создать репозиторий, принадлежащий вашему личный аккаунт с именем .github.io.

Я вижу, у вас есть репозиторий с именем https://github.com/jon424/jon424.github.io. Чтобы объяснить, что происходит:

Если вы получаете доступ к jon424.github.io напрямую, он отображает контент из jon424.github.io. Я вижу, что это работает из более старого проекта.

Если вы получите доступ к jon424.github.io/pizza, GitHub проверит jon424.github.io на наличие папки pizza. Если он его найдет, он будет обслуживать контент оттуда. Если он не найдет его, что и происходит здесь, он проверит наличие репозитория с именем pizza, принадлежащего пользователю jon424.

Поскольку он его нашел, он будет обслуживать контент оттуда. Он также ищет файл CNAME и находит его, который перенаправляет его на griftertheband.com.

В ваших настройках DNS есть CNAME, который перенаправляет на jon424.github.io. При запросе griftertheband.com ваш запрос перенаправляется через сервис GitHub, который прикрепляет URI /griftertheband, поскольку ваш первоначальный запрос был для griftertheband.com. Достигнув его, он перенаправляется обратно на griftertheband.com.

Я не знаю точно, в чем ваша проблема, потому что прикрепленные вами изображения DNS немного сбивают с толку - я не знаю, что это за половина. Но я заметил, что https перенаправляется на http, возможно, вы это настроили неправильно.

Я бы попробовал сделать шаг назад и попробовать:

  1. Удалите репозиторий jon424.github.io (заархивируйте проект под другим именем, если хотите сохранить код викторины по теории музыки)
  2. Удалите репозиторий grifter и переместите его код в новый репозиторий jon424.github.io.
  3. Удалите ВСЕ настройки DNS для griftertheband.com
  4. Настройте запись A от вашего DNS-провайдера, указывающую от griftertheband.com до jon424.github.io.
  5. Пока не беспокойтесь о www CNAME, убедитесь, что https://griftertheband.com возвращает страницу в репозиторий GitHub и что griftertheband.com тоже (и использует https). Если происходит перенаправление на http://griftertheband.com, подумайте, как заставить это работать дальше.
  6. Добавьте обратно www CNAME (при желании, я думаю, www скоро выйдет из поддержки и на самом деле не нуждается в поддержке) и убедитесь, что https://griftertheband.com, https://www.griftertheband.com, griftertheband.com и www.griftertheband.com все разрешают https://griftertheband.com и предоставляют правильный контент.
  7. Добавьте обратно другие настройки DNS, если они необходимы для других служб.

Большое спасибо за этот невероятно полезный и вдумчивый ответ!

Jon 03.07.2024 04:32

Я нахожусь на шаге 6. Я пытаюсь добавить обратно CNAME, но получаю сообщение об ошибке, сообщающее, что имя «www» конфликтует с другой записью. У меня, конечно, есть еще одна пластинка с Type: A | Имя: www | Данные: XXX.XXX.XXX.XXX ... Данные — это IP-адрес jon424.github.io. Для моей попытки записи CNAME я попытался добавить: Тип: CNAME | Имя: www | Данные: griftertheband.com.... Есть ли другое значение, которое я могу использовать для записи CNAME? Однако сайт загружается по адресу: griftertheband.com, хотя https не используется.

Jon 03.07.2024 04:35

Извините, сейчас у меня нет времени обдумывать ваш вопрос, поэтому я надеюсь, что вы сможете в нем разобраться. Также не уверен, знаете ли вы это, но https защищает от перехвата передаваемых данных (например, вход в учетную запись или данные кредитной карты). В данный момент вы не подвергаете пользователя какой-либо опасности, используя http, поэтому, если вы не хотите прямо сейчас тратить больше времени и усилий на попытки исправить это, это будет вариант. Обратной стороной является то, что браузеры предупреждают пользователей, и они могут испугаться, хотя реального риска нет. И большинство пользователей по умолчанию получают доступ к нему через https, так что, вероятно, все в порядке.

Kevin Connors 19.07.2024 00:13

Другие вопросы по теме