WCF с SSL- не находит локальный хост - PullRequest
0 голосов
/ 20 мая 2010

Я пытаюсь заставить WCF использовать SSL с НИЧЕГО на ПЯТЬ ДНЕЙ сейчас. Я прошел бесчисленные обходы, сгенерировал больше сертификатов, чем дипломная компания по почте, даже пробовал исправления. После работы с инструментами MS dev начиная с VB1, я теперь рассматриваю возможность бросать гамбургеры как вариант карьеры. Насколько я понимаю, WCF - это полный лимон.

В любом случае, чтобы перейти к моему актуальному вопросу: если я пробежусь по этому прохождению:

http://msdn.microsoft.com/en-us/library/ff648840.aspx

Я перехожу к шагу 11 (добавление справочной службы) и получаю сообщение " При загрузке метаданных с адреса произошла ошибка. Убедитесь, что вы ввели действительный адрес ".

Сведения об ошибке выдают: При загрузке произошла ошибка https://localhost/SSL6/Service.svc'. Невозможно подключиться к удаленному серверу Невозможно установить соединение, потому что целевая машина активно отказалась от него. 127.0.0.1:443

Я использую VS2008 на Windows 7 с IIS7. Я точно следовал пошаговому руководству (кроме шага 5, который отличался на IIS7 - я вошел в «Настройки SSL» для VD), поэтому он показывает мою конфигурацию (да, я использовал httpsGetEnabled и mexHttpsBinding).

Кто-нибудь хочет спасти мое здравомыслие и работу?


EDIT : если я захожу в IIS, выбираю виртуальный диск в представлении содержимого, щелкаю правой кнопкой мыши файл svc и просматриваю, я получаю «Internet Explorer не может отобразить веб-страницу». Chrome выдает "Google Chrome не может подключиться к локальному хосту".

Устранение неполадок IE выдает «удаленное устройство или ресурс не принимает соединение».

Если я просматриваю IP-адрес, а не localhost через http, он говорит, что он защищен с помощью https. Если я просматриваю по IP и https, я получаю ошибку HTTP 503. Служба недоступна.

Так что это выглядит как проблема DNS в сочетании с ... чем-то. Когда я пытаюсь просто запустить проект сайта службы, я получаю сообщение «Невозможно начать отладку на веб-сервере. Невозможно подключиться к веб-серверу. Убедитесь, что веб-сервер работает и что входящие HTTP-запросы не блокируются брандмауэром» , Я проверил брандмауэр, и все в порядке.

Ответы [ 3 ]

2 голосов
/ 21 мая 2010

Наконец взломали его. В игре было как минимум три проблемы.

1) Проблема DNS с локальным хостом. Это все еще не решено на моей машине, но я могу обойти это, используя IP-адди.

2) Другая проблема, возможно, заключалась в том, что, по-видимому, WCF не работает с IIS 7 OOTB. Поэтому вам нужно запустить командную строку от имени администратора и выполнить следующую команду -

"% windir% \ Microsoft.NET \ Framework \ v3.0 \ Windows Communication Foundation \ ServiceModelReg.exe" -r -y

3) После того, как я прошел через сертификат, я все еще получал ошибку HTTP 503 «Служба недоступна». Это закончилось тем, что осталось от моих предыдущих попыток, все еще слушая порты:

http://blogs.msdn.com/webtopics/archive/2010/02/17/a-not-so-common-root-cause-for-503-service-unavailable.aspx

Таким образом, чтобы получить приветственный сервис мирового уровня с WCF и SSL, мне потребовалась целая неделя, и во время моих путешествий я обнаружил много паломников, которые занимали примерно столько же времени. Microsoft: вы потерпели неудачу.

1 голос
/ 20 мая 2010

Вы используете IIS или хостинг? Если вы используете IIS, похоже, что он неправильно настроен, потому что кажется, что он не принимает подключения через порт 443; Я предполагаю, что вы, вероятно, пропустили привязку протокола (https для порта 443). Здесь подробно обсуждается настройка SSL на IIS7 здесь , что может быть полезно.

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

0 голосов
/ 20 мая 2010

Когда у меня возникла эта ошибка, я обнаружил, что очень полезно запускать службу из Visual Studio для получения дополнительной информации. Щелкните правой кнопкой мыши службу и выберите «Отладка» -> «Начать новый экземпляр» во всплывающем меню. VS запустит службу, используя WcfTestClient.exe.

WcfTestClient отобразит все сервисы и конечные точки в вашем сервисном проекте. При работоспособном запуске список ваших служб отобразится на панели слева, а на панели справа - вкладка «Стартовая страница». Однако в вашем случае вы получите список служб на панели top и поле «Дополнительная информация» внизу. Ваш сервис проблем (-ов) будет иметь статус ошибки.

Нажмите на проблемную службу на верхней панели, и в поле «Дополнительная информация» появится сообщение об ошибке и трассировка стека. В сообщении будет точно указано, что это за проблемный адрес mex (обмена метаданными). Это может быть достаточно подсказкой для решения проблемы. Если нет, опубликуйте здесь дополнительную информацию, и я с удовольствием ее посмотрю.

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