Puncte:0

Nu se pot difuza imagini de pe site-ul wordpress - răspunsul este incorect

drapel in

Încerc să implementez Wordpress în spatele Traefik pe Azure, folosind un PersistentVolume susținut de Azure Files. În cea mai mare parte, funcționează. Aș putea să configurez wordpress, să îl configurez, să îl accesez extern, să fac editări de conținut etc.

Imaginea docker este cea oficială de pe Hub (https://hub.docker.com/_/wordpress). Singura modificare pe care am făcut-o este să îi spun clientului MYSQL să folosească SSL, altfel totul este vanilie.

Partea ciudată este că nicio imagine nu este difuzată corect. Apache crede că le servește bine, dar Traefik respinge răspunsul ca fiind malformat. Mai exact, primește „octeți” în loc de codul de răspuns și întrerupe conexiunea, returnând 500 înapoi în browser.

L-am urmărit până la serverul apache însuși și sunt nedumerit. Iată ce văd - din nou, doar pentru imagini.

Acesta este rulat din interiorul containerului aflat pe AKS.

root@wordpress-7bd5ccfd77-drm96:/var/www/html# curl --http0.9 -iv --raw http://localhost:80/wp-includes/images/spinner.gif
* Încerc ::1:80...
* Conectat la localhost (::1) portul 80 (#0)
> GET /wp-includes/images/spinner.gif HTTP/1.1
> Gazdă: localhost
> User-Agent: curl/7.74.0
> Accept: */*
>
ges: octeți
Lungimea conținutului: 3656
Tip de conținut: imagine/gif

GIF89a...

După cum puteți vedea, o parte a răspunsului HTTP este trunchiată.

Dacă fac același lucru, dar cer conținutul paginii, nu am probleme.

root@wordpress-7bd5ccfd77-drm96:/var/www/html# curl --http0.9 -iv --raw http://localhost:80/
* Încerc ::1:80...
* Conectat la localhost (::1) portul 80 (#0)
> GET / HTTP/1.1
> Gazdă: localhost
> User-Agent: curl/7.74.0
> Accept: */*
>
* Marcați pachetul ca nu acceptă mai multe utilizări
< HTTP/1.1 200 OK
HTTP/1.1 200 OK
< Data: Luni, 17 ianuarie 2022 09:15:33 GMT
...

Dacă copiez același fișier din pod de la distanță sau prin partajarea fișierelor Azure Files de la distanță, acesta vine așa cum era de așteptat, deci nu este corupt pe volum sau cu modul în care este montat volumul.

kubectl cp it-scribe-wordpress/wordpress-794cbff687-ts6q9:/var/www/html/wp-includes/images/spinner.gif ./spinner.gif
tar: Eliminarea `/' de început din numele membrilor

Primesc un spinner.gif perfect util.

AFAICT se întâmplă doar cu imagini. Orice gând ar fi foarte apreciat.

Ian

Edit: Motivul pentru care folosesc --http0.9 este fără el, curl eșuează devreme și nu mă lasă să văd răspunsul. Indicatorul afectează doar procesarea curl, nu corpul solicitării. Iată un exemplu fără steag.

root@wordpress-7bd5ccfd77-drm96:/var/www/html# curl -iv --raw http://localhost:80/wp-includes/images/spinner.gif
* Încerc ::1:80...
* Conectat la localhost (::1) portul 80 (#0)
> GET /wp-includes/images/spinner.gif HTTP/1.1
> Gazdă: localhost
> User-Agent: curl/7.74.0
> Accept: */*
>
* A primit HTTP/0.9 când nu este permis

* Închiderea conexiunii 0
curl: (1) A primit HTTP/0.9 când nu este permis
drapel jp
De ce solicitați HTTP/0.9?
IanJ avatar
drapel in
Așa că mi-a luat câteva ore să-mi dau seama! Dacă nu folosesc acel parametru, curl îmi dă această eroare și nu mă lasă să văd răspunsul complet. Încă face cererea ca HTTP/1.1 după cum puteți vedea. Voi actualiza întrebarea pentru a include ieșirea fără --http0.9
Puncte:0
drapel in

Cred că există o problemă cu interacțiunea dintre Azure Files, AKS CSI și Apache. Pot reproduce acest comportament doar cu Azure Files - alte forme de montare a volumului (Disc, fișiere container, NFS) funcționează conform așteptărilor.

Există câteva dovezi ale altor persoane care au lovit acest lucru: https://github.com/Azure/AKS/issues/2614

Am lucrat folosind o montură NFS.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.