У меня возникла проблема с веб-сайтом, который я размещаю на 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.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
, возможно, вы это настроили неправильно.
Я бы попробовал сделать шаг назад и попробовать:
jon424.github.io
(заархивируйте проект под другим именем, если хотите сохранить код викторины по теории музыки)grifter
и переместите его код в новый репозиторий jon424.github.io
.griftertheband.com
griftertheband.com
до jon424.github.io
.www
CNAME, убедитесь, что https://griftertheband.com
возвращает страницу в репозиторий GitHub и что griftertheband.com
тоже (и использует https). Если происходит перенаправление на http://griftertheband.com
, подумайте, как заставить это работать дальше.www
CNAME (при желании, я думаю, www
скоро выйдет из поддержки и на самом деле не нуждается в поддержке) и убедитесь, что https://griftertheband.com
, https://www.griftertheband.com
, griftertheband.com
и www.griftertheband.com
все разрешают https://griftertheband.com
и предоставляют правильный контент.Я нахожусь на шаге 6. Я пытаюсь добавить обратно CNAME, но получаю сообщение об ошибке, сообщающее, что имя «www» конфликтует с другой записью. У меня, конечно, есть еще одна пластинка с Type: A | Имя: www | Данные: XXX.XXX.XXX.XXX ... Данные — это IP-адрес jon424.github.io. Для моей попытки записи CNAME я попытался добавить: Тип: CNAME | Имя: www | Данные: griftertheband.com.... Есть ли другое значение, которое я могу использовать для записи CNAME? Однако сайт загружается по адресу: griftertheband.com, хотя https не используется.
@Jon Похоже, сейчас используется https, и www ... перенаправляет на ссылку без www. Но я заметил несколько вещей: если я открою новую вкладку и наберу griftertheband.com, меня отправят на griftertheband.com (хорошо) griftertheband.com -> griftertheband.com (хорошо) www. griftertheband.com -> http:/griftertheband.com (нехорошо) griftertheband.com -> griftertheband.com (нехорошо) Я думаю, вы можете исправить и то, и другое, настроив перенаправление http -> https (что приведет к тому, что griftertheband.com сначала перейдет на сайт без www, а затем на https.
Извините, сейчас у меня нет времени обдумывать ваш вопрос, поэтому я надеюсь, что вы сможете в нем разобраться. Также не уверен, знаете ли вы это, но https защищает от перехвата передаваемых данных (например, вход в учетную запись или данные кредитной карты). В данный момент вы не подвергаете пользователя какой-либо опасности, используя http, поэтому, если вы не хотите прямо сейчас тратить больше времени и усилий на попытки исправить это, это будет вариант. Обратной стороной является то, что браузеры предупреждают пользователей, и они могут испугаться, хотя реального риска нет. И большинство пользователей по умолчанию получают доступ к нему через https, так что, вероятно, все в порядке.
Большое спасибо за этот невероятно полезный и вдумчивый ответ!