我的私有 Discourse 服务器可以正常工作,并且可以通过浏览器和 iOS 移动应用程序访问。
然而,在安卓上,Discourse Hub 找不到该服务器。(它可以找到 meta.discourse.org 等其他服务器。)
有人知道为什么会失败吗?会不会是安卓移动应用程序访问服务器时使用的爬虫代理(crawler agent)与 iOS 版本不同?还是有其他原因?
我的私有 Discourse 服务器可以正常工作,并且可以通过浏览器和 iOS 移动应用程序访问。
然而,在安卓上,Discourse Hub 找不到该服务器。(它可以找到 meta.discourse.org 等其他服务器。)
有人知道为什么会失败吗?会不会是安卓移动应用程序访问服务器时使用的爬虫代理(crawler agent)与 iOS 版本不同?还是有其他原因?
是的,移动应用程序会发出一些特定的请求来确定该 URL 是否为 Discourse 服务器。
有两个请求:
HEAD 请求到 serverdomain.com/user-api-key/newGET 请求到 serverdomain.com/site/basic-info.json如果其中任何一个没有返回数据,应用程序将假定该 URL 不是 Discourse 站点。
最有帮助了,@pmusaraj!谢谢。跟进一下:
1- GET 请求收到了响应,但 HEAD 语句抛出了“值无效”错误。(meta.discourse.org 也是如此,但两个移动应用都可以连接到此实例。)我该如何修改服务器以对 HEAD 请求产生正确的响应?
2- 为什么 iOS 版本能够成功通过这些测试并连接到我的服务器?