Điểm:0

nginx trả về 404 khi phục vụ React từ thư mục con

lá cờ mp

Tôi đã bắt đầu với một ứng dụng React được cung cấp từ nginx root. Rồi tôi đi theo cái này hướng dẫn để phục vụ ứng dụng từ một thư mục con (/ứng dụng). Như đề xuất đây, tôi đã thay đổi cấu hình nginx của mình từ đây:

địa điểm / {
    gốc /usr/share/nginx/html;
    try_files $uri $uri/ /index.html =404;           
}

để này:

vị trí/ứng dụng {
    bí danh/usr/share/nginx/html;
    try_files $uri $uri/ /app/index.html =404;
}

Loại này hoạt động - Tôi có thể duyệt đến https://localhost/app và nhận tất cả các tệp tĩnh như mong đợi. Vấn đề của tôi là tải lại các URL được điều khiển bởi React Router (tức là gửi cho máy chủ nginx một URL bao gồm các phần sau /ứng dụng). Ví dụ: trước khi thay đổi, cả hai cách sau đều hoạt động:

  • https://localhost <- hoạt động
  • https://localhost/auth/local <- cũng hoạt động

Đầu tiên chỉ đơn giản là trả về trang chủ. Nguyên nhân thứ hai khiến nginx mặc định là index.html và bộ định tuyến React đã cẩn thận điều hướng nội bộ đến đúng trang (/auth/cục bộ).

Sau khi thay đổi, yêu cầu đầu tiên hoạt động, nhưng yêu cầu thứ 2 không thành công với 404:

  • https://localhost/app <- hoạt động
  • https://localhost/app/auth/local <- không thành công với 404

Bằng cách thêm một số tiêu đề gỡ lỗi, tôi thấy rằng sau khi thay đổi, trong trường hợp thứ 2, nginx hoàn toàn không thực thi khối.

Tôi đang làm gì sai?

Đă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.