Я разрабатываю проект в VS2010 и могу просматривать свой сайт локально через IIS Express. Я хочу разрешить внешний доступ по сети.
Все мои исследования привели меня к этой записи в блоге: http://blogs.iis.net/vaidyg/archive/2010/07/29/serving-external-traffic-with-webmatrix-beta.aspx , что полезно, но действительно похоже, не показано, как настроить привязки для проекта, запущенного в Visual Studio (я не могу найти экран на снимках экрана, и я отредактировал информацию привязки в applicationhost.config, но, похоже, это не отражается, когда я запускаю сайт из визуальная студия).
Ответы:
1 После редактирования файла applicationhost.config (расположенного в папке IISExpress в ваших документах) привязки вашего сайта должны выглядеть следующим образом:
Переплеты состоят из трех частей. Сначала IP-адрес или список, или, как в данном случае, подстановочный знак. Во-вторых, номер порта и, в-третьих, имя хоста, или список, или подстановочный знак (для фильтрации по
Host
заголовку). Для целей разработки здесь больше всего подходит подстановочный знак, поскольку вы, вероятно, будете использовать уникальный порт.2 Поскольку вы используете привязку, отличную от localhost, требуются дополнительные разрешения. Вы можете запустить VS от имени администратора или, желательно, добавить списки ACL URL для предоставления необходимых разрешений. В приведенном ниже примере разрешение предоставляется всем, но вы можете использовать свое собственное имя пользователя.
Примечание .
urlacl
Должен точно соответствовать переплету. Таким образом,urlacl
forhttp://*:8080
разрешит привязку*:8080:*
, но не привязку,*:8080:localhost
даже если последнее является подмножеством первого. это означает, что если вместо использования подстановочного знака вы указываете заголовки хостаapplicationhost.config
, вы должны добавить соответствиеurlacl
для каждого из них.Примечание 2. Если запуск VS от имени администратора или добавление записей ACL не решает вашу проблему, запустите IIS Express из командной строки и проверьте, есть ли сообщения об ошибке регистрации привязки. Чтобы начать работу из командной строки, введите эту команду:
3 Наконец, вам потребуются соответствующие записи брандмауэра. Для этого проще всего использовать консоль «Брандмауэр Windows в режиме повышенной безопасности».
В разделе «Правила для входящих подключений» выберите «Новое правило ...».
40000-65534
который охватывает весь диапазон, используемый Visual Studio, но имейте в виду, что это менее безопасно).источник
C:\<Path\To\Solution>\.vs\config\applicationhost.config
. (Спасибо, @Talon)Я потратил несколько часов на эту проблему, пытаясь перейти со своего Android Xoom на мою машину разработчика win7, чтобы я мог протестировать новое веб-приложение asp.net, которое я создал. Все, что я сделал, это изменил файл applicationhost.config IISExpress с использования HostName ПК на текущий IP-адрес ПК для моего нового сайта.
к
Как только я сделал это и перезапустил IISExpress ... Я смог перейти на свою машину dev-Lee и увидеть свое приложение из моего Xoom!
источник
Мы можем добавить несколько адресов привязки, отредактировав applicationhost.config IIS Express.
Теперь мы можем получить доступ к веб-сайту из локальной сети, используя IP-адрес.
Доступ к локальным сайтам из локальной сети с помощью IIS Express
источник
Visual Studio 2013 с пакетом обновления 1 (SP1) и выше (2015) включает параметр «Применить настройки сервера ко всем пользователям (сохранить в файле проекта)». По умолчанию это включено. Если этот параметр включен, Visual Studio запускает IIS Express с аргументами командной строки, которые заставляют его использовать другой файл конфигурации. Расположение файла applicationhost.config находится в каталоге проекта в .vs \ config.
источник
Мы сделали бесплатное расширение VS (2012, 2013, 2015) под названием Conveyor, которое позволяет это - вы можете найти его через меню Tools-> Extensions ... в VS или на сайте галереи https://visualstudiogallery.msdn.microsoft. com / a429dbb7-a982-4541-b401-934375c02c0f? SRC = Home
источник
Если вы работаете с Visual Studio, выполните следующие действия, чтобы получить доступ к IIS-Express по IP-адресу:
ipconfig
в командной строке Windows<site name="WebApplication3" id="2"> <application path="/" applicationPool="Clr4IntegratedAppPool"> <virtualDirectory path="/" physicalPath="C:\Users\user.name\Source\Repos\protoype-one\WebApplication3" /> </application> <bindings> <binding protocol="http" bindingInformation="*:62549:localhost" /> </bindings> </site>
<binding protocol="http" bindingInformation="*:62549:192.168.178.108"/>
с вашим IP-адресом
Подсказка в том, что у Visual Studio есть собственный файл applicationHost.config!
источник
У меня было много проблем с тем, чтобы заставить это работать из Visual Studio 2012, я перешел с 404 ошибок на 503. В конце концов, что сработало для меня, это стереть всю связанную конфигурацию в конфигурации IIS Express ...
Затем я создал новый виртуальный каталог на странице свойств в моем веб-проекте в VS, но перед тем, как создать виртуальный каталог, я изменил имя хоста на http: // myhost: 80 /, затем нажал кнопку создания виртуального каталога. Раньше я получал сообщение об ошибке, в котором говорилось, что имя хоста должно быть «localhost», но на этот раз этого не произошло. И после этого все заработало.
Короче говоря, сначала очистите существующую конфигурацию и начните снова.
источник
Если ваш внешний домен - «name.mydyndns.com», вам необходимо написать:
Это работает на Windows 2003 Server и IIS 7.5 Express.
источник
в пуле приложений в IIS установите для параметра «Включить 32-разрядные приложения» значение «true».
источник