2015-06-13 19 views
17

Chúng tôi đã thiết lập ứng dụng angularjs trên cloudfront có tất cả các tệp nội dung trên bộ nhớ s3 và từ đó được sử dụng qua cloudfront cho SSL và hiệu suất.Góc và cloudfront với Safari

Chúng tôi có một thiết lập giống hệt với những gì được mô tả trong hướng dẫn này

https://rossfairbanks.com/2015/01/30/integrating-angular-s3-cloudfront.html

Như chúng ta đã sử dụng cùng một bài để tạo ra thiết lập riêng của chúng tôi, có vẻ như rằng mặc dù việc này trên tất cả các trình duyệt trừ Safari.

Trên Safari, khi truy cập url trực tiếp trên một đường dẫn cụ thể hoặc làm mới bất kỳ trang phụ nào, ui-router sẽ chuyển hướng trang người dùng đến trang đích.

Để dàn dựng, chúng tôi có cùng một thiết lập nhưng chạy trực tiếp trên S3 mà không có CloudFront ở giữa do đó không có SSL. nhưng, dường như nó hoạt động ngay cả trên Safari

vì vậy, sự cố có vẻ là vấn đề với CloudFront và Safari cụ thể hơn.

Bất kỳ ai có thể tư vấn về nguyên nhân có thể là gì không? và cách chúng ta có thể giải quyết nó?

CẬP NHẬT: Vấn đề này có thể liên quan đến lỗi này https://bugs.webkit.org/show_bug.cgi?id=24175

+1

có vẻ như Safari bỏ qua các đoạn trong chuyển hướng. Giải pháp thay thế được đề cập ở đây: http://stackoverflow.com/questions/17982594/how-do-i-preserve-uri-fragment-in-safari-upon-redirect – Manube

+1

cách giải quyết khác được đề cập ở đây: http://stackoverflow.com/question/8436372/how-do-i-redirect-to-a-mobile-site-but-keep-the-hash-tag – Manube

+0

Không có cách giải quyết nào phù hợp với các ứng dụng Angular được lưu trữ trong S3. – tansk1

Trả lời

0

Tôi có vấn đề này một tấn nhưng không vấn đề cụ thể này. Safari ảnh hưởng đến máy tính để bàn và thiết bị di động/máy tính bảng không có tính năng này. Trong nhiều trường hợp, tôi đã có thể thay đổi nó thành tham số truy vấn khi tôi biết nó sẽ chuyển hướng. Đó là một vấn đề khó chịu đã diễn ra trong nhiều tháng.

2

Angular on AWS (Cloudfront/S3) for Safari

tôi đã tìm ra rằng bạn cần phải sử dụng https để Safari để làm mới một cách chính xác. Bạn có thể yêu cầu S3 chuyển hướng đến giao thức https và sự cố được giải quyết:

<Redirect> 
    <Protocol>https</Protocol> 
    <HostName>test.example.com</HostName> 
    <ReplaceKeyPrefixWith>#!/</ReplaceKeyPrefixWith> 
</Redirect> 
Các vấn đề liên quan