2016-04-26 11 views
6

Moja aplikacja działa pod kontrolą protokołu HTTPS z ważnym certyfikatem od jednej ze znanych władz. Niestety używam API innej firmy, który nie obsługuje HTTPS.Wywołanie niezabezpieczonego punktu końcowego z witryny działa pod kontrolą HTTPS - nginx

Rezultatem jest znana treść wiadomości Mieszane: mydomain.com poprosił o niezabezpieczone końcowy XMLHttpRequest.

Czy możliwe aby dodać wyjątek do serwera WWW, aby umożliwić wywołanie tej API niebezpiecznie !! Używam Nginx BTW.

Jeśli nie, jakie mogą być inne możliwości rozwiązania tego problemu.

mam rozwiązanie, ale nie podoba mi się to, bo będzie to wadą wydajność:

Wdrożenie API, który działa jako serwer proxy, odbierać żądania z aplikacji za pośrednictwem protokołu HTTPS i wykonać żądania do zewnętrzne API wyrzuca HTTP.

+0

Czy moja odpowiedź rozwiązać ten problem? Jeśli potrzebujesz pomocy w konfiguracji, mogę. – khrm

+0

@khrm wypróbuje jutro i zaktualizuje Cię –

Odpowiedz

3

ja też miałem ten problem. Wszystko na stronie powinno przyjść i zażądać https, jeśli używasz https i nie chcesz ostrzeżenia/błędów. Nie musisz implementować api do proxy, jeśli używasz nginx. Cokolwiek zaimplementujesz, będzie trafnością wydajności, jak się domyślacie. Wystarczy użyć proxy pass w nginx. W naszej konfiguracji, mamy:

location /thirdparty/ { 
     proxy pass http://thirdpartyserver/; 
} 

Zawiadomienie ukośnik w przejściu proxy, trzymam wszystkie api trzeciej partii, które są w https://myserver/thirdparty/requesturl http. Ukośny ukośnik usuwa stronę trzecią podczas składania żądania. Tak więc staje się, http://thirdpartyserver/request

Dziennik referencyjny: http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass

0

Aby umożliwić mieszaną zawartość, poszczególni użytkownicy muszą zezwolić na to w swoich przeglądarkach. Zezwolenie na zawartość HTTP z jednego źródła wystarcza, aby zagrozić bezpieczeństwu HTTPS, więc przeglądarki domyślnie zabraniają mieszanych treści. Rozwiązania widzę to:

  1. Pozbycie HTTPS (które nie polecam)
  2. robić to, co zaproponował i wniosków przez pośredniczenia (to jeszcze nie jest wielki security-wise)
  3. Pozbądź zawartości HTTP

Google ma pewne zalecenia dla programistów w ramach etapu 1 (ale są one w zasadzie powtórzył powyżej): https://developers.google.com/web/fundamentals/security/prevent-mixed-content/fixing-mixed-content#step-1

+0

Dziękuję za odpowiedź, nie pozbyłbym się HTTPS. przejrzałem ten artykuł, ale nie znalazłem tego, czego szukam, napisałem to, bo ktoś może dać inny pomysł. –

+0

Tak, ten artykuł zasadniczo przedstawił to, co powiedziałem powyżej. To niefortunne z punktu widzenia użyteczności, ale najważniejsze z punktu widzenia bezpieczeństwa, że ​​treści mieszane są blokowane – winhowes

Powiązane problemy