Điểm:0

Ứng dụng DO lưu trữ một trang web đang cố gắng kết nối với DO Droplet lưu trữ API dẫn đến việc từ chối chưa được xử lý

lá cờ cc

Nó đã được đề nghị để gửi ở đây từ ngăn xếp chồng lên nhau. Đây là hy vọng.

Có hai thành phần cho ứng dụng của tôi:

  • DO 'Ứng dụng' lưu trữ trang web phản ứng. Trang web này yêu cầu:
  • DO 'Giọt' lưu trữ API

Khi tôi cố gắng kết nối từ môi trường phát triển Droplet của mình, dữ liệu được trả về và ứng dụng phản ứng được triển khai cục bộ hiển thị dữ liệu.

Tuy nhiên, khi tôi triển khai ứng dụng phản ứng lên Ứng dụng DO và cố gắng thực hiện yêu cầu tương tự, tôi nhận được lỗi: Từ chối chưa được xử lý (TypeError): Không được phép yêu cầu tài nguyên. Bảng điều khiển trình duyệt cung cấp những điều sau đây.

Không được phép yêu cầu tài nguyên
Tìm nạp API không thể tải http://xxx.xxx.xxx.xxx:8080/search/ do kiểm tra kiểm soát truy cập
Từ chối lời hứa chưa được xử lý: TypeError: Không được phép yêu cầu tài nguyên.

Tôi đã thử cả IP công khai cho Droplet lưu trữ API cũng như IP riêng. Sự cố tương tự xảy ra khi ứng dụng được triển khai trên ứng dụng DO.

Lỗi

Tôi có thể tìm những khu vực nào có thể có vấn đề?

const fetchReferences = async() => {

tìm nạp(âhttp://xxx.xxx.xxx.xxx:8080/search/â, {. //đây là dòng có lỗi. 
phương thức: âPOSTâ,
nội dung: JSON.opesify ({
url: searchState.searchCriteria

Trên API python, tôi cho phép mọi thứ thông qua:

ứng dụng = Bình (tên)
CORS(ứng dụng, tài nguyên={r"/â: {"originsâ: ââ}})
api = Api(ứng dụng)
trình phân tích cú pháp = reqparse.RequestParser()

ghi nhật ký

Nhật ký đầu ra API của người giới thiệu nhập mô tả hình ảnh ở đây

Nhật ký lỗi API Refgator

nhập mô tả hình ảnh ở đây

Vấn đề về CORS?

Cho nên...

Tại sao một phiên bản của trang web được tải cục bộ bằng sợi kết nối thành công với giọt?

Tôi nghi ngờ rằng điều này có thể là do có các khóa được chia sẻ với Droplet lưu trữ API.

Tại sao một phiên bản của trang web được tải trên nền tảng Ứng dụng DO kết nối không thành công với giọt?

Tôi đã thấy các bài đăng liên quan đến sự cố CORS giữa các giọt và ứng dụng được lưu trữ trên Digital Ocean. Nhìn thấy đâyđây.

Kiến thức của tôi về CORS không tồn tại nên việc xác nhận điều này cực kỳ tốn thời gian.


Có thể tốt nhất là chuyển repo trở lại bitbucket và cố gắng sử dụng một giọt thay vì một ứng dụng.

Michael Hampton avatar
lá cờ cz
Bạn có xem tại sao ứng dụng Flask của bạn bị lỗi không? Đây không giống như một câu hỏi cho Lỗi máy chủ (ít nhất là chưa). Bạn vẫn cần gỡ lỗi mã của mình.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.