2013-08-19 2 views
4

AppHostHttpListenerBase을 실행하는 ServiceStack Windows 서비스를 만들었습니다. 이 경우 서버의 개인 IP 주소 (예 : http://1.2.3.4:8080/)를 수신하여 원격 요청을 수신 대기 할 수 있습니다.이 경우 서버의 공용 IP 주소를 사용하여 인터넷을 통해 서비스를 사용할 수 있지만 서버에서 실행 된 요청은 http://localhost:8080/ . 내가 http://*:8080/에 바인딩 주소를 변경하는 경우 성공 localhost에 요청,공용 IP와 로컬 호스트 모두에 AppHostHttpListenerBase를 사용하여 바인딩하는 방법

를 실패하지,하지만 난 더 이상 인터넷을 통해 서버에 액세스 할 수 있습니다 내가 사용할 수 없음 503 서비스를받을 내가 가지고 할 수있는 방법

어떤 아이디어. 내 웹 서비스는 로컬 요청과 인터넷을 통한 요청을 모두 수신합니다.

마찬가지로 중요한 것은 왜 을 풀면 특정 IP에서 수신 대기 주소에 대한 제한이 * 일 때 갑자기 인터넷을 통해 요청이 시작되지 않는 이유는 무엇입니까?

답변

5

다른 리스너가 이미 요청을 처리하고있을 수 있으며 *는 처리되지 않은 리스너와 만 일치 할 수 있습니다. 나는 그것이 도움이되기를 희망하면서 http://+:8080/의 말을 듣기 위해 노력할 것입니다. HttpListenerPrefix에 대한 자세한 내용은 https://msdn.microsoft.com/en-us/library/system.net.httplistenerprefixcollection.add(v=vs.110).aspx

+2

을 참조하십시오. 'netsh http add urlacl'로 구성된 특정 IP 주소에 대한 이전 URL 예약이있었습니다. 실제로 이전 예약을 삭제하면 * 버전이 작동하기 시작합니다. 감사! –

관련 문제