2013-04-24 18 views
5

Tôi đang cố gắng tạo mẫu thử nghiệm của trình duyệt < -> giao tiếp ứng dụng trên Windows, sử dụng SignalR.Làm thế nào để tránh "cảnh báo nội dung hỗn hợp" với signalR, trên một kịch bản tên miền chéo?

Mục tiêu rất đơn giản: Tôi có một ứng dụng khay chạy trên mỗi ứng dụng đọc thẻ thông minh và tạo ra một giá trị sẽ được chuyển đến ứng dụng web.

Tôi đã xây dựng một trung tâm SignalR tự lưu trữ trên ứng dụng khay và trang web giao tiếp thành công với ứng dụng đó.

Vấn đề là trong sản xuất webapp được phân phối qua HTTPS và trung tâm signalR được phân phối qua HTTP cổ điển (ví dụ: http://localhost:8080) và, như mong đợi, trình duyệt hiện đại nhất ném cảnh báo hỗn hợp nội dung và từ chối nói chuyện với signalR.

Câu hỏi của tôi là:

1) Có cách nào để tránh cảnh báo nội dung hỗn hợp không?

2) Bạn có nên tạo một máy chủ http tự lưu trữ hỗ trợ HTTPS không? Và, nếu có, trình duyệt sẽ nói chuyện với khách hàng trên https://localhost/ với một số chứng chỉ tự ký?

Cảm ơn bạn

+0

Tại sao trung tâm được phân phối qua http? – davidfowl

+0

Hi dfowler. Cho đến nay, tôi đã không thể cung cấp máy chủ HTTP/SSL tự lưu trữ trong ứng dụng cửa sổ. Tôi đang sử dụng OWIN, có lẽ có một cách tốt hơn? – tggm

+0

Tôi đã làm theo các gợi ý này http://katanaproject.codeplex.com/discussions/438435 nhưng vô ích.Ngoài ra, tôi lo ngại rằng nếu khách hàng của tôi phải cấu hình chứng chỉ ràng buộc với địa chỉ https, (thông qua netsh), họ sẽ không thể tự cài đặt các ứng dụng – tggm

Trả lời

1

Bạn đang yêu cầu hai câu hỏi ở đây:

Tránh cảnh báo nội dung hỗn hợp trong IE Đây là đơn giản: Vào Tools -> Internet Options và chọn tab Security. Đảm bảo rằng khu vực Internet được chọn và sau đó nhấp vào nút Cấp tùy chỉnh. Cuộn xuống Hiển thị nội dung hỗn hợp và đặt thành Bật.

Lưu ý rằng cài đặt này có lý do. Thay đổi nó mang một nguy cơ bảo mật, và nó áp dụng cho tất cả các trang web mà bạn truy cập. Không nên yêu cầu người dùng trong tương lai của ứng dụng của bạn thay đổi cài đặt này. Tuy nhiên, nó vẫn còn có thể.

Tất cả các trình duyệt phổ biến khác cũng cho phép thay đổi cài đặt này.

Lưu trữ máy chủ SSL có chứng chỉ tự ký Điều này chắc chắn có thể xảy ra. Tuy nhiên, lưu ý rằng bạn sẽ phải đối mặt với cảnh báo tương tự như cảnh báo trên, cụ thể là cảnh báo "Kết nối không tin cậy". Họ phân phối để thông báo cho người dùng về chứng chỉ không được Cơ quan cấp chứng nhận chính thức ký.

Tạo chứng chỉ tự ký không quá khó (trên thực tế, bạn thậm chí có thể sử dụng lại cùng một chứng chỉ trên nhiều máy. Đây là một giải pháp thay thế được chấp nhận để sử dụng HTTP không được mã hóa). Ưu điểm của việc này là người dùng có thể xác nhận một ngoại lệ bảo mật một lần và không bị làm phiền trong tương lai; Ngoài ra, điều này sẽ không ảnh hưởng đến bảo mật web khi duyệt các trang khác hơn localhost.

+0

Lưu ý: Bạn không thể lấy ứng dụng khay để đưa dữ liệu vào máy chủ? Nếu có thể, bạn sẽ chỉ phải chuyển nó trở lại máy khách thích hợp để vượt qua tất cả những vấn đề này. – likeitlikeit

+0

Tôi hiểu cách tiếp cận của bạn, ứng dụng khay không nói chuyện với máy chủ và tôi đã nghĩ về cách tiếp cận đó. Vấn đề nằm trong "chuyển nó trở lại cho khách hàng thích hợp". Không có cách nào để khớp một đầu đọc thẻ cụ thể (trên ứng dụng khay) với trình duyệt vừa mới được mở trên cùng một màn hình, ví dụ: Tôi không thể xác định một máy cụ thể thông qua trình duyệt. Về câu trả lời của bạn, giờ đây tôi nhận ra rằng luôn có một số cảnh báo, vì vậy có lẽ tôi phải hướng dẫn người dùng thư giãn bảo mật của trình duyệt. – tggm