Заставить автоматически создаваемые ссылки использовать HTTPS

Я пытался найти это через Google или поиск, но не смог. Когда я ввожу доменное имя, например discourse.org, в предложении, оно становится ссылкой. Вот это HTTP-ссылка:

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

Существует настройка сайта force_https. По умолчанию она включена в стандартной установке.

Значит, здесь это не включено? Даже прямая ссылка на meta.discourse.org здесь является HTTP-ссылкой. Я проверю, так ли это на других форумах.

Судя по коду, force_https по умолчанию имеет значение false.

Здесь отсутствует настройка сайта force_https. Согласно тому, что я прочитал здесь:

Это происходит потому, что HTTPS включен. Я использую Let’s Encrypt.

Кажется, что по умолчанию текстовые ссылки являются HTTP, и вы не можете это изменить. Если вы добавите их на новую строку, они станут ссылками HTTPS. Например:

Только что подтверждено: ссылки, опубликованные таким образом, используют http, даже когда force-https включён включён.

Я могу ошибаться, но, полагаю, это связано с тем, что «oneboxer» при таком расположении следует всем перенаправлениям, тогда как для ссылок в строке этого не происходит.

Итак, главный вопрос: можем ли мы изменить это поведение? HTTPS сейчас практически является стандартом по умолчанию:

Слова discourse.org или meta.discourse.org автоматически заменяются на ссылки. Возможно, там не используются ссылки с https. :thinking:

Я не думаю, что это правда. Такое же поведение наблюдается, например, на google.com и apple.com — это лишь несколько быстрых примеров.

Мне кажется, что встроенные ссылки без протокола по умолчанию используют http. (Например, https://google.com работает).

О, вы правы. :thinking:

Точно. Было бы логично изменить это поведение на HTTPS вместо HTTP, верно?

Если ничего не изменилось недавно, ссылка на незащищённый сайт не вызовет ошибку смешанного контента.

Ошибки смешанного контента относятся к ресурсам, из которых состоит страница. Если ваш сайт работает по HTTPS, но загружает ресурсы из незащищённого источника, то вы предоставляете смешанный контент.

Force_https относится к вашему сайту Discourse и внутренним ссылкам на нём.

Ссылка на новой строке создаёт однострочную карточку (onebox), а не просто отображается как ссылка. Для этого ссылка должна быть «загружена», и будет проверено содержимое документа по умолчанию в целевом адресе. Если сайт использует HTTPS вместо HTTP, произойдёт перенаправление.

Думаю, вам это не понадобится.

Хотя этот показатель, безусловно, высок, что хорошо, я не считаю, что 85% достаточно для изменения поведения вашего форума по умолчанию.

Насколько мне известно, практически любой (ставлю на 99+%) HTTPS-сайт перенаправляет все HTTP-запросы на HTTPS-версию.

Обратное утверждение неверно.

Это означает, что ссылка на http://example.com почти никогда не вызывает проблем, поскольку вы в любом случае попадаете на https://example.com.


Как и @Stephen, я думаю, что вы, возможно, сосредоточились не на той части. Насколько мне известно, наличие ссылки <a href="http... не вызовет предупреждений о смешанном содержимом.

Эта ошибка должна возникать только при встраивании незащищённого (не HTTPS) контента на ваш HTTPS-сайт. Таким образом, причиной может быть загрузка внешних изображений, внедрение стороннего скрипта или что-то в теме?
Стоит глубже изучить консоль браузера и выяснить, что именно вызывает ошибку :slight_smile:

Позвольте мне объяснить. У нас много пользователей, которые вводят имя нашего домена в ответах форума. Мы также встраиваем ответы форума на главном сайте, поэтому теперь у меня есть некоторые внутренние ссылки HTTP вместо HTTPS. Это не большая проблема, но было бы здорово, если бы я мог сделать их также HTTPS.

Это верно, это не вызывает предупреждения о смешанном контенте :slight_smile:

Есть ли что-то, что я могу сделать? Кроме мониторинга ответов и, возможно, написания скрипта для обновления URL :slight_smile:

Я думаю, что вы можете использовать отслеживаемые слова для замены простого имени хоста на URL

Я не знал, что это возможно, но звучит как отличная идея. Попробую. На случай, если кто-то ещё ищет это:

…/admin/customize/watched_words/action/replace

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