모바일 앱 URL 문제

안녕하세요,

Discourse iOS 모바일 앱에서 문제가 발생하고 있습니다. 포럼에 접속하면 "찾을 수 없음"이라는 메시지가 표시됩니다. 브라우저에서는 정상적으로 작동하지만 앱에서는 작동하지 않습니다.

URL은 https://forum.penangexpats.com 입니다.
참고로, 이 포럼에 CDN을 사용하고 있지만 URL은 이미 올바르게 설정되어 있고 정상적으로 작동하고 있습니다.

해결 방법을 아시는 분이 있을까요?

검색을 통해 기존 유사한 이슈(및 잠재적 해결책)를 확인해 보세요. “Hub” 앱을 말씀하시는 것 같습니다 ("whitelisted app"도 있습니다).

예를 들어 이 이슈: Cannot add certain discourse forums in DiscourseHub on Android - #13 by pmusaraj

감사합니다. 대부분 확인해 봤습니다. 제 CDN은 Bunny를 사용하고 있으며, 헤더에서 무언가가 제거된 건지 확인해 달라고 그들에게 메시지를 보냈습니다. 제가 포럼을 2개 운영하고 있는데, CDN을 사용하지 않는 다른 포럼은 정상적으로 연결되므로 그게 유일한 차이점인 것 같습니다. 그리고 네, Hub 앱 맞습니다.

CDN 팀은 헤더에서 아무것도 제거하지 않는다고 해서 도움을 줄 수 없다고 했습니다.

다른 아이디어가 있는 분 계신가요?

그제서야 말씀하시네요… 저는 이전에 같은 오류로 unicyclist.com을 앱에 추가하지 못했습니다.

몇 주 후에 다시 시도해 보니 이번에는 포럼을 앱에 추가할 수 있었습니다.

왜 고쳐졌는지는 이해하지 못했지만, 당신의 메시지를 읽고 나서 CDN을 Stackpath에서 Bunny로 변경했음을 기억해냈습니다.

참고로 저는 Bunny의 기본 설정을 사용하고 있습니다. 특별한 설정은 없습니다.

그래서 이 문제는 CDN 설정에서 비롯된 것일 수도 있다고 추측합니다. 물론 당신에게도 그런 상황일 거라고 단정짓는 것은 아닙니다.

귀하의 CDN이 HEAD 요청을 차단하고 있으며, 이로 인해 많은 문제가 발생합니다:

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

그리고

그리고 그것이 바로 우리 세계에서 진짜 문제입니다.

감사합니다. 이제 해당 문제를 그들에게 다시 전달할 수 있겠네요.

사용자 지정 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을 강제 적용했습니다:

제가 정확히 그렇게 했습니다. 하지만 Bunny 측에서는 사용자 에이전트(user agent) 문제라고 합니다.

Discourse에서 사용자 에이전트에 설정한 내용을 비교해 볼 수 있을까요?

Nano님,
어떤 의미인지 좀 더 자세히 설명해 주시겠어요?

제가 말하려는 것은, Discourse 설정에서 user agents 항목에 어떤 값을 지정해 두셨다는 뜻입니다.

bunny를 사용하여 전체 사이트를 프록시하는 것입니까, 아니면 자산만 서빙하는 것입니까?

이미지뿐만 아니라 사이트 전체에 Bunny를 사용했습니다.

죄송합니다. 질문을 아직 이해하지 못해서 답변드리기 어렵습니다 :slight_smile:
유저 에이전트(user agent)가 무엇인지는 알고 있지만, CDN에 대해서는 매우 기초적인 지식만 있고, 프록시나 이런 것들에 대해서는 거의 아는 것이 없습니다.

Discourse 설정을 말씀하시는 건가요, 아니면 Bunny 설정을 말씀하시는 건가요? 어느 쪽이든, 저는 유저 에이전트와 관련된 설정을 건드리지 않았습니다. 제 포럼은 특별한 설정 없이 표준 설치된 것이며, Bunny 설정도 매우 표준적인 상태입니다.

Bunny의 일반적인 설정을 보여드릴 수는 있습니다:

요약

Bunny에서 다른 서비스나 설정을 하지 않았습니다.

도와주셔서 감사합니다. 디스코र्स 설정에서 User agents 항목이 비어 있나요?
토끼( Bunny) 지원팀이 확인한 결과, 디스코르스에서 문제가 되는 것이 바로 User agent라고 하거든요.

그리고 어떤 이유에서인지 모바일 앱에서 웹사이트가 로딩되지 않는 상태입니다. 정말 이상하네요.