Можно ли использовать HTTP (НЕ HTTPS) через порт 443? - PullRequest
0 голосов
/ 19 января 2011

Интересно, можно ли обмениваться простым HTTP (без SSL) через TCP-порт 443?

Попытка изменить адрес моего сервера на основе WCF для использования порта 443 (но без SSL) не удаласьс этим сообщением:

Shunra.Common.Wcf.ShunraServiceHost - Open failed with exception
System.ServiceModel.AddressAlreadyInUseException: HTTP could not register URL http://+:443/NC/. Another application has already registered this URL with HTTP.SYS. ---> System.Net.HttpListenerException: Failed to listen on prefix 'http://+:443/NC/' because it conflicts with an existing registration on the machine.
   at System.Net.HttpListener.AddAllPrefixes()
   at System.Net.HttpListener.Start()
   at System.ServiceModel.Channels.SharedHttpTransportManager.OnOpen()
   --- End of inner exception stack trace ---
   at System.ServiceModel.Channels.SharedHttpTransportManager.OnOpen()
   at System.ServiceModel.Channels.TransportManager.Open(TransportChannelListener channelListener)
   at System.ServiceModel.Channels.TransportManagerContainer.Open(SelectTransportManagersCallback selectTransportManagerCallback)
   at System.ServiceModel.Channels.TransportChannelListener.OnOpen(TimeSpan timeout)
   at System.ServiceModel.Channels.HttpChannelListener.OnOpen(TimeSpan timeout)
   at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
   at System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen(TimeSpan timeout)
   at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
   at System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout)
   at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
   at System.ServiceModel.Channels.CommunicationObject.Open()
   at Shunra.Common.Wcf.ShunraServiceHost.Open() in c:\dev\windows\Common\Shunra.Common\Wcf\ShunraServiceHost.cs:line 65

И это не вопрос резервирования пространства имен HTTP, поскольку пользователь является администратором.

Итак, мне интересно, существует ли особая обработкапорт 443, чтобы разрешить только HTTPS через него.

Спасибо.

1 Ответ

1 голос
/ 19 января 2011

Обратите внимание, что в сообщении об ошибке указано:

Другое приложение уже зарегистрировало этот URL-адрес с помощью HTTP.SYS.

Таким образом, это указывает на то, что другое приложение уже использует порт443, и что это проблема.Несколько приложений могут прослушивать один и тот же порт, только если они различаются по заголовку хоста.

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