Problem mit Oneboxing eines Bildes von einer bestimmten Domain

Kann mir jemand Aufschluss darüber geben, was hier los sein könnte? :thinking:

Ich habe zwei Bilder. Sie sind identisch. Der einzige Unterschied ist der Domainname.

Ein Bild weigert sich, auf meiner Discourse-Installation (Version 3.3.0.beta2-dev (7a083daf27)) zu oneboxen, das andere Bild funktioniert einwandfrei.

Bild eins: https://dronescene.co.uk/images/uploads/temporiginal/test11.png

Bild zwei: https://dev.dronescene.co.uk/images/uploads/temporiginal/test11.png

Während ich mir den Kopf zerbrach und versuchte herauszufinden, was das Problem sein könnte, bemerkte ich, dass die Onebox-URL am Ende der URL einige zusätzliche Parameter anhängt:

Ich glaube aber, dass das eine falsche Fährte ist :thinking:

Wenn ich beide Bilder direkt in einem Browser-Tab anzeige und die HTTP-Antwortheader im Netzwerk-Tab der Browserkonsole betrachte, sehe ich keine Unterschiede zwischen den beiden.

In meinen Discourse-Logs gibt es keine Fehler.

Könnte es sein, dass ich domänenspezifische Einstellungen auf meiner Discourse-Installation vorgenommen habe, die ich längst vergessen habe? :thinking:

Was könnte sonst noch dazu führen, dass die Onebox einen HTTP/404-Fehler ausgibt, obwohl das Bild vorhanden ist? :thinking:

Wo könnte ich mit der Fehlersuche beginnen, warum eine URL funktioniert und die andere nicht? :thinking:

Falls relevant, werden beide Domains über Cloudflare geleitet – aber auch dort sind alle Einstellungen identisch.

Ist nicht einer der Hauptanwendungsfälle von Cloudflare, Bots daran zu hindern, Dateien von Ihrer Website anzufordern? Sieht so aus, als ob es wie vorgesehen funktioniert :laughing:
Sie sollten Ihre Cloudflare-Konfiguration überprüfen, dort gibt es eine Möglichkeit, den Bot-Schutz zu deaktivieren.

2 „Gefällt mir“

Tut es das? :thinking:

Was ist der Unterschied? :thinking:

Die IP-Adresse des Discourse-Servers ist auf Cloudflare whitelisted und ich kann sowohl Bilder von der Kommandozeile des Servers, auf dem Discourse läuft, per curl/wget abrufen.

Ich verstehe nicht, warum das Onebox für das eine Bild funktioniert, aber nicht für das andere.

Da Sie beide Server kontrollieren, können Sie überprüfen, wie die genaue Anfrage lautet, bis hin zu Verb, User-Agent und anderen Headern, und versuchen, diese mit einem cURL nachzubilden, das sie imitiert?

2 „Gefällt mir“

Ah, ausgezeichnete Idee :+1: