Как включить внешний запрос в IIS Express? - PullRequest
422 голосов
/ 23 июля 2010

Как включить удаленные запросы в IIS Express? Скотт Гатри написал, что это возможно , но он не сказал как.

Ответы [ 23 ]

7 голосов
/ 18 ноября 2016

Что помогло мне, так это щелкнуть правой кнопкой мыши значок «IISExpress», «Показать все приложения».Затем выбрав веб-сайт, я увидел, какой aplicationhost.config он использует, и исправление прошло отлично.

IISExpress configuration

5 голосов
/ 07 марта 2017

Вы можете попробовать настроить переадресацию портов вместо того, чтобы пытаться изменить конфигурацию IIS Express, добавить новые правила HTTP.sys или запустить Visual Studio в качестве администратора.

Как правило, вам нужно перенаправить IP:PORT, на котором работает ваш веб-сайт, на другой свободный порт вашей машины, но не на локальный хост, а на внешний сетевой адаптер.

Дело в том, что IIS Express (по крайней мере, в Windows 10) связывается с [::1]:port, что означает, что он прослушивает порт IPv6.Вы должны принять это во внимание.

Вот как я сделал эту работу - http://programmingflow.com/2017/02/25/iis-express-on-external-ip.html

Надеюсь, это поможет.

5 голосов
/ 16 мая 2011

Принятым ответом на этот вопрос является руководство по настройке IIS Express для работы с веб-матрицей.Я нашел это руководство более полезным при попытке заставить его работать с VS 2010.

Я только что выполнил шаги 3 и 4 (запуск IIS Express от имени администратора) и мне пришлось временно отключить брандмауэрчтобы заставить его работать.

3 голосов
/ 03 августа 2014

У меня проблемы с использованием IIS Express в Win 8.1 и внешним запросом.

Я выполняю следующие шаги для отладки внешнего запроса:

  1. Установить IIS
  2. Настройка Visual Studio для использования локального IIS (свойства страницы в вашем веб-проекте)
  3. Создание эксклюзивного AppPool в IIS для работы с моим приложением
  4. В моем проекте я использую Oracle Client и должен быть 32-битным (64-битные не работают с Visual Studio), тогда мне нужно разрешить 32-битный в пуле приложений
  5. Настройка брандмауэра Windows для разрешения запроса через порт 80 (входящие правила)

Это работает!

2 голосов
/ 20 сентября 2016

У меня был включен локальный IIS, поэтому я просто создал правило перезаписи для моего порта отладки ... Я думаю, что это лучше и круче, чем другой метод, потому что его легче удалить, когда я закончу разработку ... Вот какпереписать взгляды ..

<rewrite>
    <rules>
        <rule name="ReverseProxyInboundRule1" stopProcessing="true">
            <match url="^dev/(.*)" />
            <action type="Rewrite" url="http://localhost:47039/{R:1}" />
        </rule>
    </rules>
</rewrite>

VS также позволяет вам разрабатывать, используя ваш локальный IIS напрямую (что затем позволяет удаленные подключения), но, в свою очередь, вы всегда должны запускать его как администратор ... Мне это не нравится.

2 голосов
/ 27 декабря 2016

Если вы запускаете Visual Studio из Admin, вы можете добавить только

<binding protocol="http" bindingInformation="*:8080:*" />

или

<binding protocol="https" bindingInformation="*:8443:*" />

в

%userprofile%\My Documents\IISExpress\config\applicationhost.config
2 голосов
/ 01 ноября 2018

Самый простой и крутой способ, который я нашел, - это использовать (установка занимает 2 минуты):

https://ngrok.com/

Это будет работать с чем угодно, работающим на localhost. Просто зарегистрируйтесь, запустите небольшую исполняемую программу, и все, что вы запускаете на локальном хосте, получит общедоступный URL, к которому вы можете получить доступ из любого места.

Это хорошо для демонстрации материала вашим удаленным товарищам по команде, без проблем с настройкой IIS или брандмауэрами. Хотите остановить доступ, просто прервите исполняемый файл.

ngrok authtoken xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

ngrok http -host-header=localhost 89230

при условии, что 89230 - ваш порт IIS Express

Вы также можете запустить несколько портов даже на бесплатном плане

1 голос
/ 18 февраля 2019

Я сделал все эти шаги, и ничто не помогло мне.И что мне нужно, это просто запустить мое приложение через IIS Express ...

enter image description here

Надеюсь, это поможет.

0 голосов
/ 20 июня 2018

[диалог свойств проекта]

Для разработки с использованием VisualStudio 2017 и API-проекта NetCore:

1) В Cmd-Box: ipconfig / all для определения IP-адреса

2a) Введите полученный IP-адрес в Свойства проекта-> вкладка «Отладка»

2b) Выберите порт и присоедините его к IP-адресу из шага 2a.

3) Добавитьправило разрешить в брандмауэре, чтобы разрешить входящий TCP-трафик на выбранный порт (мой брандмауэр вызвал диалоговое окно: «Блокировать или добавить правило в брандмауэр»).В этом случае добавим волю.

Недостаток решения выше:

1) Если вы используете динамический IP-адрес, вам нужно повторить шаги, описанные выше, в случае другого IP-адреса.был назначен.

2) У вашего сервера теперь есть открытый порт, который вы можете забыть, но этот открытый порт остается приглашением для нежелательных гостей.

0 голосов
/ 01 апреля 2015

Мне не удалось обслуживать запросы iis другим пользователям в моей локальной сети, все, что мне нужно было сделать (в дополнение к вышесказанному), - перезапустить мой маршрутизатор BT Hub.

...