Î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