Sử dụng django-rest-framework. Tôi nhận được lỗi HTTP 403 khi chạy trong sản xuất sau nginx. Khi tôi gọi một chế độ xem cụ thể, được kế thừa từ APIView để hỗ trợ hoạt động GET, tôi nhận được:khung công tác còn lại django cung cấp cho 403 khi phía sau nginx nhưng không trực tiếp
{"detail": "Invalid username/password"}
Nhưng ... Tôi chỉ nhận được điều này trong trình duyệt. Tôi không hiểu khi tôi sử dụng curl cho cùng một URL. Tôi nhận được lỗi này cho dù tôi đã truy cập URL trực tiếp hay tải URL thông qua AJAX, trong cả Chrome và Firefox.
Tôi không gặp lỗi nếu tôi đăng nhập qua Quản trị viên Django bằng tài khoản quản trị trước.
Ngoài ra, tôi chỉ nhận được điều này là tôi đang chạy từ phía sau nginx. Nếu tôi chạy với máy chủ devango Django, hoặc gunicorn, và nhấn trực tiếp vào cổng, tôi ổn, và có thể vui vẻ nhấn URL nặc danh. Nếu tôi sau đó đặt nginx ở phía trước này, để chuyển tiếp đến cùng một gunicorn/runerver tôi nhận được lỗi này.
Có thể nó liên quan đến cài đặt nginx proxy_pass của tôi?
location/{
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
Tôi đang chạy khung còn lại django 2.2.6, Django 1.5 và nginx 1.2.7.
Tôi đặt điều chỉnh thành số cao ngớ ngẩn trong khung còn lại và xem các quyền mà tất cả dường như mở theo mặc định (nhưng cũng được đặt rõ ràng).
Có ai có thể chỉ cho tôi đúng hướng không?
Cảm ơn!
Ludo.
cài đặt xác thực của bạn cho django-rest-framework là gì? – iMom0
Tôi chỉ sử dụng các giá trị mặc định, có vẻ phù hợp. – Ludo