Проблемы с URL в мобильном приложении

Всем привет,

У меня проблема с мобильным приложением Discourse для iOS. Когда я захожу на свой форум, появляется сообщение «Не найдено». В любом браузере всё работает, но в приложении — нет.

URL: https://forum.penangexpats.com.
P.S: У меня настроен CDN, и ссылка уже указывает на правильный адрес и работает корректно.

Есть какие-нибудь идеи?

Попробуйте поискать существующие похожие темы (и их возможные решения) через поиск. Я предполагаю, что вы имеете в виду приложение «Hub» (существует также приложение «whitelisted app»).

Например, вот эта тема: Cannot add certain discourse forums in DiscourseHub on Android - #13 by pmusaraj

Спасибо, я уже посмотрел на большинство из этого. Мой CDN — Bunny, я написал им, чтобы узнать, не удаляются ли какие-то заголовки. Единственное, что я могу предположить: у меня два форума, и второй подключается без проблем, но он не использует 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

Да, я именно так. Может быть, мы сможем сравнить и выяснить, в чём проблема? Под «кастомным» я имею в виду, что я в основном работал с кастомными доменами (custom domain).

Итак, 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.

Можем ли мы сравнить, что у вас установлено в настройках user-agent в Discourse?

Привет, Nano,
Не могли бы вы уточнить, что именно вы имеете в виду?

Я имею в виду, что у вас настроено в разделе User Agents в вашей конфигурации Discourse?

Вы пытаетесь использовать Bunny для проксирования всего вашего сайта или только для раздачи ресурсов?

Я использовал Bunny для всего сайта, а не только для изображений.

Извините, я не могу ответить на ваш вопрос, так как всё ещё не до конца понимаю, о чём речь :slight_smile:
Я знаю, что такое user agent, имею очень базовые знания о CDN и практически ничего не знаю о проксировании или подобных вещах.

Вы имеете в виду настройки Discourse или конфигурацию Bunny? В любом случае, я ничего не менял в настройках, связанных с user agents. Мой форум — стандартная установка без лишних наворотов, и конфигурация Bunny у меня тоже очень стандартная.

Могу показать вам общую конфигурацию в Bunny:

Сводка

Я не настраивал никаких других сервисов или конфигураций в Bunny.

Спасибо. В вашей настройке Discourse для пользовательских агентов поле пустое?
Поскольку поддержка Bunny после проверки заявила, что проблема в пользовательском агенте в Discourse.

И по какой-то причине сайт не загружается в мобильном приложении. Очень странно.