移动应用URL问题

大家好,

我在 Discourse 的 iOS 移动应用上遇到一个问题。当我输入我的论坛时,它显示未找到。在任何浏览器上都可以正常工作,但在应用上不行。

网址是 https://forum.penangexpats.com
附注:我正在使用 CDN,但网址已经正确指向并正常工作。

有什么想法吗?

通过搜索查看现有类似问题(及其潜在解决方案)。我猜您指的是“Hub”应用(还有一个“白名单应用”)。

例如这个问题:Cannot add certain discourse forums in DiscourseHub on Android - #13 by pmusaraj

谢谢,我已经看过大部分内容了。我的 CDN 是 Bunny,我已经联系了他们,看看是否有什么被从头部剥离了。我唯一能想到的是,我有两个论坛,另一个可以正常连接,而它不在 CDN 上。是的,这是 Hub 应用程序。

1 个赞

CDN 的人无法提供帮助,因为他们说他们不会剥离标头中的任何内容。

还有其他想法吗?

现在您提到了这一点……我之前无法将 unicyclist.com 添加到应用程序中,出现了同样的错误。

几周后我再次尝试时,就可以将论坛添加到应用程序中了。

我不明白为什么它被修复了,但读了您的消息后,我才想起我将 CDN 从 Stackpath 更改为 Bunny。

请注意,我使用的是 Bunny 的默认设置。没什么特别的。

所以,这个问题可能来自 CDN 配置,我猜的。当然,我并不是说您的情况也是如此。

1 个赞

您的 CDN 正在阻止 HEAD 请求,这会破坏很多功能:

curl -I https://forum.penangexpats.com/
HTTP/2 403
date: Mon, 22 May 2023 16:56:12 GMT
server: BunnyCDN-SG1-868
2 个赞

以及

是我们世界中真正的问题。

2 个赞

谢谢,我现在可以回去告诉他们问题所在了。

1 个赞

您在使用自定义的 Bunny 设置吗?

我很好奇,因为我使用相同的 CDN 没有遇到任何问题。

Curl
curl -I https:/unicyclist.com
HTTP/1.1 200 OK
Server: nginx
Date: Tue, 23 May 2023 09:10:03 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Vary: Accept-Encoding
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 0
X-Content-Type-Options: nosniff
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none
Referrer-Policy: strict-origin-when-cross-origin
X-Discourse-Route: categories/index
Vary: Accept
Cache-Control: no-cache, no-store
Content-Security-Policy: upgrade-insecure-requests; base-uri 'self'; object-src 'none'; script-src https://unicyclist.com/logs/ https://unicyclist.com/sidekiq/ https://unicyclist.com/mini-profiler-resources/ https://cdn.unicyclist.com/assets/ https://cdn.unicyclist.com/brotli_asset/ https://unicyclist.com/extra-locales/ https://cdn.unicyclist.com/highlight-js/ https://cdn.unicyclist.com/javascripts/ https://cdn.unicyclist.com/plugins/ https://cdn.unicyclist.com/theme-javascripts/ https://cdn.unicyclist.com/svg-sprite/ 'sha256-Gty3/aPWFfSvz7pdT39HY97/+2opLup9V0L19ZF0IwY='; worker-src 'self' https://cdn.unicyclist.com/assets/ https://cdn.unicyclist.com/brotli_asset/ https://cdn.unicyclist.com/javascripts/ https://cdn.unicyclist.com/plugins/; frame-ancestors 'self'; manifest-src 'self'
X-Request-Id: 40286528-e3e2-433d-9bf0-be971202b973
X-Runtime: 0.070801
Strict-Transport-Security: max-age=31536000

是的,我们可以比较一下看看问题出在哪里?我所说的自定义主要是指自定义域名。

Bunny CDN 给我回复说:

我们已进一步诊断,我最初的猜测是正确的。您的源站似乎正在阻止不包含特定浏览器用户代理的请求,请看这里:

X:~$ curl -I https://forum.penangexpats.com/ -A chrome
HTTP/2 200
date: Tue, 23 May 2023 11:36:08 GMT
content-type: text/html; charset=utf-8
vary: Accept-Encoding
server: BunnyCDN-SG1-868
cdn-pullzone: 1408974
cdn-uid: 7e2b52ab-b488-4ff1-b538-1bc4b7004d60
cdn-requestcountrycode: NL
cache-control: no-cache
x-frame-options: SAMEORIGIN
x-xss-protection: 0
x-content-type-options: nosniff
x-download-options: noopen
x-permitted-cross-domain-policies: none
referrer-policy: strict-origin-when-cross-origin
x-discourse-route: categories/index
content-security-policy-report-only: upgrade-insecure-requests; base-uri 'self'; object-src 'none'; script-src https://forum.penangexpats.com/logs/ https://forum.penangexpats.com/sidekiq/ https://forum.penangexpats.com/mini-profiler-resources/ https://forum.penangexpats.com/assets/ https://forum.penangexpats.com/brotli_asset/ https://forum.penangexpats.com/extra-locales/ https://forum.penangexpats.com/highlight-js/ https://forum.penangexpats.com/javascripts/ https://forum.penangexpats.com/plugins/ https://forum.penangexpats.com/theme-javascripts/ https://forum.penangexpats.com/svg-sprite/ https://www.googletagmanager.com/gtm.js 'nonce-af9b14e48a03b0e8bb7d66bf8be1368c' 'sha256-Gty3/aPWFfSvz7pdT39HY97/+2opLup9V0L19ZF0IwY='; worker-src 'self' https://forum.penangexpats.com/assets/ https://forum.penangexpats.com/brotli_asset/ https://forum.penangexpats.com/javascripts/ https://forum.penangexpats.com/plugins/; frame-ancestors 'self'; manifest-src 'self'
x-discourse-cached: true
x-request-id: a0b16517-ee98-43f3-a703-913f5e3850a1
x-runtime: 0.004948
x-discourse-trackview: 1
strict-transport-security: max-age=31536000
cdn-proxyver: 1.03
cdn-requestpullsuccess: True
cdn-requestpullcode: 200
cdn-cachedat: 05/23/2023 11:36:08
cdn-edgestorageid: 868
cdn-status: 200
cdn-requestid: 985151325f02414670eb77798e8e5e27
cdn-cache: MISS

X:~$ curl -I https://forum.penangexpats.com/
HTTP/2 403
date: Tue, 23 May 2023 11:36:43 GMT
server: BunnyCDN-SG1-868
cdn-pullzone: 1408974
cdn-uid: 7e2b52ab-b488-4ff1-b538-1bc4b7004d60
cdn-requestcountrycode: SI
cache-control: no-cache
x-request-id: d8519537-194f-41c0-b8a4-e5f9ba56f612
x-runtime: 0.002454
cdn-proxyver: 1.03
cdn-requestpullsuccess: True
cdn-requestpullcode: 403
cdn-cachedat: 05/23/2023 11:36:43
cdn-edgestorageid: 868
cdn-status: 403
cdn-requestid: c55661436d71de7db2b28ac5123093f7
cdn-cache: MISS

上面的请求在我指定 Chrome 用户代理时成功了,下面的请求在没有用户代理时返回 403。这不是 Bunny 的配置问题,肯定是从源站发出的。我建议您在您的端进一步检查此问题。

在这种情况下,我认为回答

没什么价值? :thinking:

不过,我还是添加了另一个主机名并强制启用了 SSL:

That’s exactly what I did. However, from Bunny they say it’s the user agent issue.

Can we compare what you have set under user agents in Discourse?

你好 Nano,
你能澄清一下你的意思吗?

您的意思是,在您的 Discourse 设置中,您在用户代理下设置了什么?

您是想使用 Bunny 来代理整个网站,还是仅用于提供资源?

我已将 Bunny 用于整个网站,而不仅仅是图像。

抱歉,我无法回答您的问题,因为我还不太理解您的问题 :slight_smile:
我知道什么是用户代理(user agent),并且我只对 CDN 有非常基础的了解,对代理或类似的东西几乎一无所知。

您是指 Discourse 还是 Bunny 的配置?无论哪种情况,我都未曾对任何与用户代理相关的设置进行过操作。我的论坛是标准安装,没有任何花哨的功能,我的 Bunny 配置也非常标准。

我可以向您展示我在 Bunny 中的通用配置:

摘要

我未在 Bunny 中设置任何其他服务或配置。

谢谢。在您的 Discourse 设置中,用户代理是否为空?
因为 Bunny 的支持人员在检查后表示,用户代理是 Discourse 中的问题。
而且不知何故,它阻止了网站在移动应用程序中加载。真是奇怪。