2017-07-18 18 views
7

Tôi đã sử dụng Asteroid làm ddp của tôi để kết nối với ứng dụng Meteor của tôi dưới dạng chương trình phụ trợ. Giao diện người dùng chạy https và hoạt động hoàn hảo trên Chrome. Vì vậy, nó thực sự bao gồm hai ứng dụng riêng biệt chạy độc lập. Nhưng nó không được tốt trong Safari. Safari chặn kết nối vì có nội dung hỗn hợp/không an toàn.Cách thiết lập websocket an toàn trên ứng dụng Meteor (localhost)

Cho đến nay tôi có gói force-ssl được thêm vào ứng dụng Meteor của tôi nhưng vẫn không có may mắn. Làm thế nào để kích hoạt tính năng wss giao thức trên máy tính phát triển địa phương của tôi (localhost)

Trả lời

1

Bạn đã cố gắng kết nối trên localhost bằng cách chỉ sử dụng http://localhost:3000? Nếu backend và frontend của Meteor đều đang chạy trên localhost thì bạn không nên cố gắng kết nối thông qua https hoặc wss. Máy của bạn không có chứng chỉ tin cậy đang chạy trên đó nên không thể thực hiện kết nối.

Ngoài ra, không sử dụng lực lượng ssl cục bộ cho cùng một lý do tôi đã đề cập ở trên.

Vui lòng đăng lỗi đầy đủ từ Safari nếu giải pháp trên không hoạt động. Xin vui lòng làm rõ những gì đang chạy ở đâu (cả hai đều trên localhost, hoặc chỉ một).

+0

Có cả hai đang chạy localhost. Tôi cũng có thể tạo cert tự đăng nhập và tôi thực sự cần lớp bảo mật vì trình duyệt không thể chấp nhận nội dung hỗn hợp – Muhaimin

+0

Ngay cả một cert tự ký sẽ không hoạt động ở đây vì nó sẽ không đáng tin cậy. Bạn không cần force-ssl, thay vào đó hãy sử dụng một cái gì đó như nginx hoặc apache để ép ssl khi bạn đang lưu trữ ứng dụng của mình. Sau đó, trong môi trường dev của bạn loại bỏ gói force-ssl và nó sẽ làm việc cho bạn. – JoshJoe

+0

@JoshJoe Tôi đang đối mặt với vấn đề tương tự và tôi đã đăng nó lên stackoverflow, không nhận được bất kỳ phản hồi nào. Bạn có thể vui lòng xem nó không? https://stackoverflow.com/questions/47430122/uncaught-typeerror-a-qs-unescape-is-not-a-function – AnoopGoudar

Các vấn đề liên quan