Tôi có một thiết lập máy chủ Nginx (openresty) có các tệp lớn.
Khi khách hàng muốn một tệp phạm vi Nginx sẽ gửi lại 200 thay vì 206.
Đây là ví dụ về bài kiểm tra độ cong của tôi:
curl -v -I -r 0- -X NHẬN http://172.29.22.11/myBigFile.bin
* Đang thử 172.29.22.11:80...
* Bộ TCP_NODELAY
* Đã kết nối với 172.29.22.11 (172.29.22.11) cổng 80 (#0)
> NHẬN /myBigFile.bin HTTP/1.1
> Máy chủ: 172.29.22.11
> Phạm vi: byte=0-
> Tác nhân người dùng: curl/7.68.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
< Chuyển mã hóa: chunked
Mã hóa truyền: chunked
< Kết nối: giữ nguyên
Kết nối: giữ nguyên
< Hết hạn: Thứ tư, ngày 21 tháng 12 năm 2022 09:10:00 GMT
Hết hạn: Thứ tư, ngày 21 tháng 12 năm 2022 09:10:00 GMT
< Kiểm soát bộ đệm: max-age=31536000
Kiểm soát bộ đệm: max-age=31536000
< Access-Control-Allow-Headers: *
Kiểm soát truy cập-Cho phép-Tiêu đề: *
< Kiểm soát truy cập-Cho phép-Xuất xứ: *
Kiểm soát truy cập-Cho phép-Xuất xứ: *
< myCacheStatus: HIT
myCacheStatus: HIT
< Pragma: công khai
Pragma: công khai
< Kiểm soát bộ đệm: công khai
Kiểm soát bộ đệm: công khai
<
* Đã tìm thấy phần thừa: phần thừa = 448 url =/myBigFile.bin A (phần thân có độ dài bằng 0)
* Kết nối #0 đến máy chủ 172.29.22.11 còn nguyên vẹn
Làm cách nào tôi có thể xác định Nginx để trả về đúng 206 về điều này?
----- Thêm cấu hình của tôi -----
địa điểm / {
nội bộ;
proxy_cache my_cache;
proxy_cache_key $uri;
# đặt thời gian ceching cho 200 lần quay lại -> thành 7 ngày
proxy_cache_valid 200 7d;
# Xóa cờ tôi không muốn
more_clear_headers 'Kiểm soát truy cập-Cho phép-Tiêu đề';
more_clear_headers 'Kiểm soát truy cập-Cho phép-Xuất xứ';
more_clear_headers 'truy cập*';
more_clear_headers 'bố trí nội dung';
more_clear_headers 'Ngày';
more_clear_headers 'x-proxy-cache';
more_clear_headers 'Máy chủ';
# thêm tiêu đề để xử lý CORS
add_header Access-Control-Allow-Headers '*';
add_header Access-Control-Allow-Origin '*';
# để giảm Bandwisth tôi sử dụng nén
bật gzip;
# thiết lập proxy và hướng dẫn nó cech ngay cả khi không có Kiểm soát bộ đệm
proxy_ignore_headers X-Accel-Expires Hết hạn kiểm soát bộ đệm;
bật proxy_cache_lock;
proxy_cache_lock_timeout 0s;
proxy_cache_lock_age những năm 200;
đang cập nhật proxy_cache_use_stale;
# chạy proxy ngược
proxy_pass http://0.0.0.0:3000;
# đặt ceching cục bộ ở phía máy khách hiện tại chúng tôi sẽ bắt đầu sau 365 ngày
hết hạn 365d;
add_header Thực dụng công khai;
add_header Kiểm soát bộ đệm "công khai";
}