Могу ли я использовать отдельный файл web.config через SSL? - PullRequest
1 голос
/ 31 января 2012

Начну с того, что я новичок в SSL и как он работает в ASP.NET/WCF.

У меня есть веб-сервис, доступ к которому в настоящее время осуществляется без SSL, который необходимо изменить, чтобы принимать трафик через http и https.Мой web.config ссылается на сторонние URL, которые используют http.Эти URL-адреса возвращаются клиенту и затем запрашиваются через JavaScript.Если веб-сайт, использующий SSL, вызывает мой веб-сервис с использованием SSL, мне нужно вернуть https версии этих сторонних URL-адресов, чтобы браузер не отображал предупреждение «смешанная безопасность».

Есть ли у кого-нибудь совет, как лучше всего этого добиться?У меня была мысль создать параллельный сайт, который обрабатывал бы весь трафик ssl, но я не был уверен, насколько это возможно в IIS6 (что мы сейчас используем).

Ответы [ 3 ]

1 голос
/ 31 января 2012

Вы должны хранить его в одном файле web.config. Я предполагаю, что вы пытаетесь избежать предупреждений «Эта страница содержит защищенный и небезопасный контент»?

Вы можете хранить свои URL-адреса в файле web.config без протокола (например, www.google.com вместо http://www.google.com) Затем, когда вы перейдете к использованию URL-адресов в коде, после того, как вы извлечете их из web.config, но перед их отображением используйте свойство Request IsSecureConnection

http://msdn.microsoft.com/en-us/library/system.web.httprequest.issecureconnection.aspx

Например:

((Request.IsSecureConnection)?"https://":"http://") + ConfigurationManager.AppSettings["theURL"]

Или вы можете сделать это с помощью JavaScript (вот как это делает Google Analytics):

var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");  

Затем позже они просто используют "префикс" gaJsHost для извлечения ресурса.

0 голосов
/ 31 января 2012

Всегда используйте https для ссылки на файлы, и проблема решена.В противном случае, возможно, начните использовать URL-адреса без протокола - например, //somesite.com/somefile.html - и браузер будет использовать протокол текущей страницы.

0 голосов
/ 31 января 2012

Я не уверен точно, о чем вы спрашиваете, но если ваш сайт IIS не настроен на пропуск только SSL-трафика, у вас все будет в порядке.Ваши сервисы по-прежнему будут работать через SSL и трафик не SSL.

Необходимо использовать правила перезаписи, чтобы убедиться, что все пользователи перенаправлены на SSL http://www.sslshopper.com/iis7-redirect-http-to-https.html

Если вы используете модуль перезаписи в IIS7в соответствии с указанными мною инструкциями вы можете убедиться, что любой посетитель вашего сайта будет автоматически перенаправлен на SSL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...