Câu hỏi thường gặp và cách khắc phục sự cố

Trang này giải đáp những câu hỏi thường gặp (FAQ) về App Hosting.

App Hosting Câu hỏi thường gặp

Các hạn chế và biện pháp khắc phục sự cố chung App Hosting

  • Do vấn đề về cơ sở hạ tầng Cloud Run, việc tạo hoặc cập nhật tài nguyên có thể diễn ra chậm hơn dự kiến ở một số khu vực như us-central1. Nếu độ trễ triển khai là một vấn đề ở một khu vực cụ thể, thì Google đề xuất triển khai ở một khu vực khác.
  • CDN của App Hosting chỉ có thể bao gồm một nhóm tiêu đề yêu cầu cụ thể trong các khoá bộ nhớ đệm. Danh sách đó bao gồm các tiêu đề RSC, Next-Router-State-Tree, Next-Router-Prefetch, Next-Router-Segment-Prefetch và Next-Url của NextJS, cũng như các tiêu đề Accept, Accept-Encoding, Access-Control-Request-Headers, Access-Control-Request-Method, Origin, Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site, X-Goog-Allowed-Resources và X-Origin tiêu chuẩn của Cloud CDN. Nếu một phản hồi chứa tiêu đề Vary có giá trị không có trong danh sách này, thì CDN của chúng tôi sẽ không lưu trữ phản hồi đó vào bộ nhớ đệm.
  • Các tệp tĩnh chưa lưu vào bộ nhớ đệm sẽ được phân phát từ Cloud Run; trong một bản phát hành sau, các tệp này sẽ được lưu trữ và phân phát từ nguồn App Hosting để có hiệu suất tốt hơn.
  • Đôi khi, bảng điều khiển Firebase có thể cho thấy lỗi "không tìm thấy bản dựng và bản dựng không hợp lệ" khi tạo phần phụ trợ.
  • Tất cả các phần phụ trợ trong cùng một dự án đều dùng chung một tổ chức/tài khoản GitHub. Các kho lưu trữ này có thể được kết nối với các kho lưu trữ khác nhau trong tổ chức/tài khoản đó. Để tạo các phần phụ trợ được kết nối với nhiều tài khoản GitHub, hãy đặt các phần phụ trợ đó vào các dự án riêng biệt.

Các hạn chế và biện pháp khắc phục sự cố đối với ứng dụng Angular

Mặc dù tính năng hỗ trợ App Hosting cho Angular đang trong quá trình phát triển và mở rộng, nhưng tính năng này có những hạn chế sau:

  • I18n: Mặc dù chức năng I18n cốt lõi hoạt động, nhưng việc chuyển hướng trực tiếp đến các trang SSR có thể dẫn đến lỗi.
  • Nội địa hoá: Không hỗ trợ việc tạo các phiên bản cho nhiều ngôn ngữ.
  • Trình tạo: Hiện tại, chỉ Trình tạo ứng dụng được hỗ trợ.
  • Môi trường và công cụ Monorepo: Các dự án Angular có nhiều hơn một mục tiêu ứng dụng sẽ không thành công. Để có khả năng hỗ trợ monorepo đầy đủ hơn, hãy sử dụng Nx.

Lỗi HTTP 400 và Proxy Trust trong SSR Angular

Nếu ứng dụng Angular của bạn được triển khai trên Firebase App Hosting gặp phải lỗi HTTP 400 (Yêu cầu không hợp lệ), các lỗi chặn xác thực máy chủ lưu trữ hoặc lỗi uỷ quyền proxy, hãy làm theo giải pháp được đề xuất cho phiên bản Angular của bạn:

  • Angular phiên bản 19, 20 và 21: Bạn có thể giải quyết các lỗi HTTP 400 này theo 2 cách:
    • Nâng cấp các phần phụ thuộc: Chạy npm update @angular/core @angular/ssr để cài đặt bản phát hành bản vá mới nhất cho phiên bản Angular hiện tại.
    • Cấu hình thủ công: Áp dụng cấu hình dự phòng ở cấp mã bằng cách đặt trustProxyHeaders: true trong cấu hình máy chủ (xem phần Định cấu hình tiêu đề proxy đáng tin cậy trong tài liệu Angular).
  • Angular phiên bản 22: Bản dựng đầu tiên trên một phần phụ trợ mới có thể trả về lỗi 400. Để giải quyết vấn đề này, hãy tạo bản dựng thứ hai. Tất cả các bản dựng tiếp theo sẽ hoạt động như dự kiến.

Các hạn chế và biện pháp khắc phục sự cố của Next.js