Tôi đang cố gắng triển khai Wordpress phía sau Traefik trên Azure, sử dụng PersistentVolume được Azure Files hỗ trợ. Đối với hầu hết các phần, nó hoạt động. Tôi có thể thiết lập wordpress, định cấu hình, truy cập từ bên ngoài, chỉnh sửa nội dung, v.v.
Hình ảnh docker là hình ảnh chính thức trên Hub (https://hub.docker.com/_/wordpress). Thay đổi duy nhất tôi đã thực hiện là yêu cầu ứng dụng khách MYSQL sử dụng SSL, nếu không thì mọi thứ khác đều là vanilla.
Điều kỳ lạ là không có hình ảnh nào được phục vụ chính xác. Apache cho rằng nó phục vụ tốt cho họ, nhưng Traefik từ chối phản hồi là không đúng định dạng. Cụ thể, nó nhận được 'byte' thay vì mã phản hồi và ngắt kết nối, trả lại 500 cho trình duyệt.
Tôi đã truy tìm lại chính máy chủ apache và bị bối rối. Đây là những gì tôi thấy - một lần nữa, chỉ dành cho hình ảnh.
Điều này được chạy từ bên trong container ngồi trên AKS.
root@wordpress-7bd5ccfd77-drm96:/var/www/html# curl --http0.9 -iv --raw http://localhost:80/wp-includes/images/spinner.gif
* Đang thử ::1:80...
* Đã kết nối với cổng localhost (::1) 80 (#0)
> NHẬN /wp-gồm/hình ảnh/spinner.gif HTTP/1.1
> Máy chủ: máy chủ cục bộ
> Tác nhân người dùng: curl/7.74.0
> Chấp nhận: */*
>
địa chỉ: byte
Độ dài nội dung: 3656
Loại nội dung: hình ảnh/gif
GIF89a...
Như bạn có thể thấy, một phần của phản hồi HTTP Là cắt ngắn.
Nếu tôi làm điều tương tự nhưng yêu cầu nội dung trang, tôi không gặp vấn đề gì.
root@wordpress-7bd5ccfd77-drm96:/var/www/html# curl --http0.9 -iv --raw http://localhost:80/
* Đang thử ::1:80...
* Đã kết nối với cổng localhost (::1) 80 (#0)
> NHẬN / HTTP/1.1
> Máy chủ: máy chủ cục bộ
> Tác nhân người dùng: curl/7.74.0
> Chấp nhận: */*
>
* Đánh dấu gói là không hỗ trợ đa dụng
< HTTP/1.1 200 OK
HTTP/1.1 200 OK
< Ngày: Thứ Hai, ngày 17 tháng 1 năm 2022 09:15:33 GMT
...
Nếu tôi sao chép cùng một tệp ra khỏi nhóm từ xa hoặc qua tính năng chia sẻ tệp Azure Files từ xa, tệp sẽ hoạt động như mong đợi, vì vậy tệp không bị hỏng trên ổ đĩa hoặc với cách gắn ổ đĩa.
kubectl cp it-scribe-wordpress/wordpress-794cbff687-ts6q9:/var/www/html/wp-includes/images/spinner.gif ./spinner.gif
tar: Xóa `/' đứng đầu khỏi tên thành viên
Tôi nhận được một spinner.gif hoàn toàn hữu ích.
AFAICT nó chỉ xảy ra với hình ảnh. Bất kỳ suy nghĩ sẽ được nhiều đánh giá cao.
Ian
Chỉnh sửa: Lý do tôi sử dụng --http0.9 là không có nó, cuộn tròn không thành công sớm và không cho tôi xem phản hồi. Cờ chỉ ảnh hưởng đến quá trình xử lý của curl, không ảnh hưởng đến nội dung yêu cầu. Đây là một ví dụ không có cờ.
root@wordpress-7bd5ccfd77-drm96:/var/www/html# curl -iv --raw http://localhost:80/wp-includes/images/spinner.gif
* Đang thử ::1:80...
* Đã kết nối với cổng localhost (::1) 80 (#0)
> NHẬN /wp-gồm/hình ảnh/spinner.gif HTTP/1.1
> Máy chủ: máy chủ cục bộ
> Tác nhân người dùng: curl/7.74.0
> Chấp nhận: */*
>
* Đã nhận HTTP/0.9 khi không được phép
* Đóng kết nối 0
curl: (1) Đã nhận HTTP/0.9 khi không được phép