浏览器首次尝试时未提示输入登录凭据

浏览器首次尝试时未提示输入登录凭据

我有一个网站,其域名在 GoDaddy 注册,托管在 Apache Digital Ocean droplet 上,GoDaddy 名称服务器指向 DigitalOcean 名称服务器。整个网站都使用 htaccess 登录名/密码。

mydomain.com我的问题是,在某些浏览器(Safari OS X)中,如果您在没有的情况下访问www,第一次您会收到此消息而没有提示输入登录凭据:

未授权

此服务器无法验证您是否有权访问所请求的文档。您提供的凭据有误(例如密码错误),或者您的浏览器无法提供所需的凭据。

Apache/2.4.29 (Ubuntu) 服务器位于 www.mydomain.com 端口 80

第二当您尝试该链接时,它会提示用户登录。

我需要向用户提供登录凭据第一的用户每次访问 时mydomain.com,而不仅仅是连续尝试。

我在 DigitalOcean 上的 DNS 记录如下:

www.mydomain.com 指向 206.189.65.999 3600

NS mydomain.com 指向 ns3.digitalocean.com。1800

NS mydomain.com 指向 ns2.digitalocean.com。1800

NS mydomain.com 指向 ns1.digitalocean.com。1800

我没有太多设置经验,所以我假设我的 DNS 记录是错误的,但这也可能只是 Safari 的一个怪癖吗?

答案1

可能是这样的:https://discussions.apple.com/thread/8232508

如果连接仅使用 http(而非 SSL),则最新版 Safari 将不会提示进行基本身份验证。即使它最终使用 SSL,但中间经过重定向到 https 的非 SSL 链接。

这在 iOS 11.2 和 macOS 10.13.2 Safari 中发生了变化。

因此,你必须使用直接指向 https 的链接,而不是重定向到某物http,然后再次转换为 https。

有帮助的方法是将 HSTS 标头发送到 SSL 配置的虚拟主机上。这样,浏览器至少可以在地址栏中输入该域名后直接使用 SSL。

相关内容