2016-09-11 6 views
0

Я пытаюсь сделать вызов ajax удаленно расположенному webservice (HTTP) с помощью нашего приложения (HTTPS). Но я получаю следующую ошибку.Как сделать HTTP-вызов через HTTPS-envirnment в Chrome

Mixed Content: The page at 'https://test.tes.com/url' was loaded over HTTPS, but requested an insecure script 'http://129.211.25.5:8063/'. This request has been blocked; the content must be served over HTTPS 

Я использую хром-браузер.

Я попытался найти решение, но я больше всего написал, что небезопасное содержимое не будет разрешено в хроме. В Internet Explorer он запрашивает, и если мы разрешаем смешанный контент, тогда я могу сделать вызов HTTP-сервиса.

Также найдено, что решение заключается в замене HTTP на HTTPS-вызов. Но мой сервер не настроен на HTTPS (SSL не включен), поэтому я не могу внести это изменение.

Мой вопрос: Возможно ли сделать HTTP-вызов из среды HTTP? Atlest может ли мы обходить некоторые HTTP-вызовы, чтобы избежать ошибки выше? (Фильтры или что-то, что может помочь) Или Обязательно перейти в среду HTTPS?

+0

'Но мой сервер не настроен на HTTPS' - и все же ** вы ** имеете код на странице, ** ** настроен для https ... don ' ты? - https не имеет проблем и стоит ** ничего ** в эти дни https://letsencrypt.org/ –

+0

Фактически приложение, с которого я звоню в webservice, настроено на HTTPS env и веб-сервис, расположенный на другом сервере, который не имеет SSL-разрешений (HTTP), так что вроде как я хочу получить контент из HTTP env, используя среду HTTPS приложения – tkfwr

ответ

-2

Вот ваша проблема (если вы используете файл Htaccess):

RewriteCond %{SERVER_PORT} ^443$ RewriteRule (.*) http://www.example.com/$1

Вы не позволяете SSL запросов (443 номер порта используется для запросов HTTPS). Попробуйте удалить эти строки.

В качестве альтернативы,

Если возможно, используйте версию этого внешнего страницы/веб-сервер https.

+0

что? его сервер ** не настроен на HTTPS ** - зачем ему перенаправлять (несуществующий) порт 443 на порт 80? –

1

У вас есть два решения:

  • убедить WebService разрешить HTTPS (и нет, https-> Перенаправление не является решением)

  • сделать вызов HTTPS на сервер, а затем настроить сервер, чтобы сделать запрос HTTP в фоновом:

< пользователя -https-> ваши s erver < -http-> webservice

+0

Создание webservice для разрешения HTTPS - это одно из решений, которое я получил, но что делать, если у меня нет доступа к серверам, вместо этого у меня есть только доступ к обоим приложениям. Так можно ли это сделать? Например, например, для междоменных вызовов мы добавляем фильтры, поэтому не могу ли я сделать такой тип изменений на уровне приложения и разрешить этот вызов? Я пробовал искать его, но ничего не нашел или его обязательным для HTTPS. Это единственное решение? – tkfwr

+0

С веб-страницы https вы не можете совершать вызовы http ajax. – Tom