Таблица Topic_link содержит неверные URL при использовании S3

Привет. Я столкнулся с проблемой: клики по внешним ссылкам не учитываются для URL, содержащих загруженные файлы, размещённые на S3 + CDN. Посмотрите эту тему, чтобы понять суть проблемы:

https://talks.dos.zone/t/collections/44653

Откройте категорию «Racing», и вы увидите что-то вроде этого:

Test Drive никогда не учитывает клик по нему. Это происходит потому, что в таблице topic_link нет соответствующей записи. Все ссылки на этой странице используют один и тот же шаблон: https://dos.zone/rep/my/<encoded-url-to-file>.

Все ссылки, которые работают корректно, относятся к файлам, загруженным вручную. Однако ссылки, которые не учитываются, загружаются через Discourse. Например:
https://doszone-uploads.s3.dualstack.eu-central-1.amazonaws.com/custom/dos/death-rally.jsdos — УЧИТЫВАЕТСЯ,
https://doszone-uploads.s3.dualstack.eu-central-1.amazonaws.com/original/2X/a/abcf902327ce1cf6fe7b3e8c809d638984377d7c.jsdos — НЕ УЧИТЫВАЕТСЯ.

Я выгрузил таблицу topic_link для этой темы topic_link.csv (6,9 КБ).

Если посмотреть в неё, то все неучтённые ссылки хранятся как https://cdn.dos.zone/<path-to-file> вместо правильного https://dos.zone/rep/my/<url-to-file>. Учётные ссылки хранятся корректно.

Я пытался найти причину этого, но безрезультатно: topic_link.rb/extract_from ничего не делает с CDN :thinking:

1 лайк

Кажется, это стоит исправить. Вероятно, подстановка CDN происходит после извлечения.

@vinothkannans, сможешь ли ты разобраться и проверить, воспроизводится ли это здесь?

4 лайка

Я пока не могу воспроизвести эту проблему. В любом случае, она всё ещё в моём списке :memo:

1 лайк

Могу я вам чем-то помочь?

1 лайк