Chrome/Windows: соединение отказано, когда я использую свой IP-адрес
У меня есть сервер ASP.NET, работающий под VS2010 на моем ПК (Win7) через порт 12345.
Когда я загружаю localhost:12345 в Chrome, моя страница по умолчанию загружается идеально.
Но когда я загружаю 192.168.128.104:12345 (по моему внутреннему IP, а не по localhost), я получаю "Отказ в соединении".
То же самое поведение, когда я пытаюсь получить доступ к серверу с другого устройства в моей интрасети (в моем случае, Raspberry Pi)
Я понимаю, что когда я нажимаю на localhost, я просто зацикливаюсь на своем адаптере, поэтому запрос никогда не покидает мою машину. Поэтому может показаться, что причина в том, что запрос покинул и снова вошел в мою машину.
Я создал пользовательские правила для входящих и исходящих событий в своем брандмауэре Windows, чтобы разрешить порт 12345, но безрезультатно.
Любые идеи были бы хорошы.
2 ответа
Я нашел ответ здесь:
Могу ли я получить доступ к серверу разработки ASP.NET в интрасети?
что привело меня к этому:
http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/UseFiddlerAsReverseProxy
Как это часто бывает, поиск ответа во многом зависит от использования правильных условий поиска. Здесь критические ключевые слова были "asp.net отладочная интранет"
"Правильный путь" здесь - использовать IIS Express, и вам не нужно, чтобы fiddler действовал как обратный прокси-сервер. Это хак, который использовался для обхода использования Cassini - низкобюджетного веб-сервера, который устарел (и не сравнивается с IIS Express) и использовался с VS2010 до SP1.
В VS2010 SP1 была добавлена поддержка IIS Express. Вы можете прочитать об этом здесь: http://blogs.msdn.com/b/webdev/archive/2011/03/14/enabling-iis-express-support-in-vs-2010-sp1.aspx
IIS Express может справиться с этим очень хорошо - и Visual Studio 2010 интегрируется с ним. Это не одно или другое - вы разрабатываете с помощью Visual Studio, и когда вы запускаете свое приложение, оно запускает его с 2010 года.
Если вы хотите что-то действительно простое, установите Visual Studio 2015 Community Edition, используйте ASP.NET 5 (теперь он называется ASP.NET Core 1) и просто запустите его для самостоятельного размещения с помощью кнопки воспроизведения, которая выглядит так, как вы привыкли видеть в VS 2010 веб-сервер не требуется.
Опять же - то, что это 2016 год - то, что вы упомянули, - очень старый способ. Если это быстрый взлом, я могу это понять - но если вы ищете лучший практический путь в будущем, используйте IIS Express (и в идеале более новую версию Visual Studio - у нас они есть бесплатно в выпусках Community Editions 2013/2015)
Надеюсь, это поможет!