我尝试过谷歌搜索,但找不到答案。当我在句子中输入像 discourse.org 这样的域名时,它会变成一个链接。这是一个 HTTP 链接:
有没有办法默认将其设置为 HTTPS?我想在不手动将它们转换为 HTTP 链接的情况下消除混合内容错误。
我尝试过谷歌搜索,但找不到答案。当我在句子中输入像 discourse.org 这样的域名时,它会变成一个链接。这是一个 HTTP 链接:
有没有办法默认将其设置为 HTTPS?我想在不手动将它们转换为 HTTP 链接的情况下消除混合内容错误。
有一个 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 链接。![]()
我不相信那是真的,例如,在 google.com 和 apple.com 上也会表现出相同的行为。
对我来说,似乎没有协议的内联链接会默认回退到 http。(所以 https://google.com 可以正常工作)
你说得对。 ![]()
说得对。将此行为从 HTTP 改为 HTTPS 会更合理,对吧?
除非最近有什么变化,否则指向不安全网站的链接不会触发混合内容错误。
混合内容错误指的是构成页面的资源。如果您的网站是 https 但从不安全源加载资源,那么您将提供混合内容。
Force_https 指的是您的 discourse 网站及其内部链接。
新行上的链接会进行“onebox”(即显示预览),而不仅仅是链接。要做到这一点,必须“加载”该链接并检查目标处的默认文档。如果网站通过 http 使用 https,则会发生重定向。
我不认为你会想要这样。
虽然这确实很高,这是好事,但我不认为 85% 的比例足以改变你论坛的默认行为。
据我所知,几乎所有的(我敢打赌 99% 以上)https 网站都会将所有 http 请求重定向到 https 网站。
反之则不然。
这意味着链接到 http://example.com 几乎从来都不是问题,因为你最终还是会访问 https://example.com。
就像 @Stephen 一样,我认为你可能关注错了地方。据我所知,有一个 <a> href="http... 链接不会触发混合内容警告。
这个错误应该只由在你的 https 网站中嵌入非 https 内容触发。所以加载外部图片可能是原因,或者嵌入第三方脚本,主题中的某些东西?
最好深入查看浏览器控制台,看看是什么触发了错误 ![]()
让我解释一下。我们的许多用户会在论坛回复中输入我们的域名。我们还将论坛回复嵌入到主站点中,因此现在我有一些 HTTP 内部链接而不是 HTTPS。这并不是一个大问题,但如果我能让它们也变成 HTTPS,那就太好了。
这是正确的,它不会触发混合内容警告 ![]()
有什么我能做的吗?除了监控回复和可能编写一个脚本来更新 URL ![]()
您可以使用已关注的字词将裸主机名替换为网址
我没意识到这是可能的,但这听起来是个好主意。我会试试的。如果还有其他人也在找这个:
…/admin/customize/watched_words/action/replace
我认为这两个功能可能不兼容。如果我没记错的话,markdown linkify tlds 似乎会优先执行,并且不允许链接被监视词替换。