Просмотр моего размещенного на IIS сайта на других компьютерах в моей сети - PullRequest
94 голосов
/ 02 февраля 2010

Дома у меня есть простая настройка сети, содержащая 2 машины.

На одной машине у меня есть сайт, размещенный на IIS7.Вместо стандартного адреса localhost/index.htm я добавил запись в файле HOSTS, указывающую локальный IP-адрес (127.0.0.1) на этот домен - www.mysite.dev.

Я могу получить доступ к сайту с помощью www.mysite.dev без проблем.

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

Изначально я предполагал, что это можно сделать с помощью URL-адреса, например:MACHINE-NAME/www.mysite.dev, но соединение всегда прерывается.Но я могу пинговать MACHINE-NAME без проблем.

В целях тестирования я отключил брандмауэр Windows на обеих машинах, но без удовольствия.

Как и у обычного веб-разработчика, мои аппаратные / сетевые навыкиочень бедны.

Кто-нибудь может увидеть, где я иду не так?

Ответы [ 11 ]

147 голосов
/ 04 января 2011

Как говорили другие, ваш брандмауэр должен быть настроен на принимать входящие вызовы на TCP-порт 80 .

в win 7+ (простой способ волшебства)

  1. перейдите на брандмауэр Windows с расширенной безопасностью
  2. Входящие правила -> Действие -> Новое правило
  3. выберите переключатель Predefined , а затем выберите последний элемент - Службы всемирной паутины (HTTP)
  4. нажмите «Далее» и оставьте следующие шаги такими, какие они есть ( позволяют соединение )

  • Поскольку исходящий трафик (от сервера к внешнему миру) разрешен по умолчанию .it означает, например, ответы HTTP, которые веб-сервер отправляет обратно внешним пользователям и запросы

  • Но входящий трафик (исходящий из внешнего мира на сервер) блокируется по умолчанию , как пользовательские веб-запросы, исходящие из их браузера, которые не могут попасть на веб-сервер с помощью по умолчанию, и вы должны открыть его.

Вы также можете более подробно ознакомиться с правилами входящих и исходящих сообщений на этой странице

31 голосов
/ 17 августа 2015

Если вы размещаете веб-сайт на определенном порту в IIS, таком как 4321 , вам придется разрешить этот порт и через брандмауэр Windows. Вот шаги, которые я выполнил вместе с ответом imanabidi , чтобы заставить его работать на меня:

  1. Брандмауэр Windows> Расширенные настройки
  2. Входящие правила> Новое правило
  3. Выберите порт> Далее
  4. Определенные локальные порты> Добавьте порт, который вы хотите разрешить
  5. Разрешить все подключения
  6. Введите имя и описание, чтобы потом его запомнить.
  7. Выполнено
8 голосов
/ 02 февраля 2010

Прежде всего, попробуйте подключиться к локальной сети IP вашего сервера. Если IIS настроен только с одним веб-сайтом, скорее всего, ваш сайт откроется.

Если вы хотите получить к нему доступ по имени, вам нужно будет добавить запись в файл HOSTS каждого клиентского ПК, с которого вы хотите просмотреть сайт (очевидно, не до 127.0.0.1, а на локальный IP-адрес вашего сервер).

Кроме того, ваш брандмауэр должен быть настроен на прием входящих вызовов через порт 80.

Это обычно тот момент, когда более целесообразно настроить службу DNS, с помощью которой вы можете централизованно регистрировать такие имена, как «mysite.dev», без необходимости вмешиваться в файлы хостов. Но это другая история, и она принадлежит superuser.com или serverfault.com.

6 голосов
/ 16 августа 2012

Открыть настройки брандмауэра. Затем найдите что-то вроде - Разрешить программу или функцию, чтобы разрешить через брандмауэр. Если в списке сервисов Всемирной паутины (HTTP) нет отметки, отметьте его и перезапустите систему.

Наша машина настроена на прием входящих запросов.

3 голосов
/ 07 июня 2016

Очень поздний ответ, но я остановлюсь на некоторых моментах, так как мне пришлось столкнуться с этим несколько лет назад, когда я настраивал свой сайт IIS в сети

  1. Обе ваши машины должны быть подключены к одной и той же сети (одинаковая беспроводная сеть в порядке)
  2. Доступ к удаленной машине по IP 168.192.x.x или http://his-pc-name (не забудьте часть http)
  3. Это будет серверная страница IIS по умолчанию на удаленном компьютере (такая же, что и через localhost). Если вы хотите настроить сервер на другой сайт, [сначала вы должны сделать это по умолчанию] 1 .

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

2 голосов
/ 06 июля 2015
 Control Panel>System and Security>Windows Firewall>Allowed Programs-> then check all " World Wide Web Services(Http) tab". 

Это сработало для меня

1 голос
/ 30 июня 2018

Помимо изменения брандмауэра, не забудьте также добавить привязку порта!

Открыть $(SolutionDir)\.vs\config\applicationHost.config и найти определения привязки, должно быть что-то вроде этого

<sites>
    <site name="Samples.Html5.Web" id="1">
        <application path="/" applicationPool="Clr4IntegratedAppPool">
            <virtualDirectory path="/" physicalPath="C:\Git\Samples.Html5.Web" />
        </application>
        <bindings>
            <binding protocol="http" bindingInformation="*:63000:localhost" />
        </bindings>
    </site>
    ...
</sites>

Простодобавьте дополнительные строки для отображения IP-адреса вашего компьютера и назначенного порта

<bindings>
    <binding protocol="http" bindingInformation="*:63000:localhost" />
    <binding protocol="http" bindingInformation="*:63000:10.0.0.201" />
</bindings>

Источник: https://blog.falafel.com/expose-iis-express-site-local-network/

1 голос
/ 10 мая 2018

Возможно, будет поздно, но для любого другого человека, который может столкнуться с такой проблемой в будущем, для любых подключений, которые вы хотите установить к серверу (в данном случае это компьютер, на котором размещено веб-приложение, независимо от того, является ли он iis или xampp) вам нужно разрешить соединение или трафик через определенный порт, который будет использоваться в брандмауэре

1. Go to Windows Firewall -> Advanced settings
2. Click Inbound Rules -> Then New Rule
3. Select Port -> Next
4. Specific local ports -> Add the Port you want to allow
5. Allow All Connections
6. Enter a name and a description for to help you remember later on

и вы сделали

1 голос
/ 22 марта 2014

После установки антивируса я столкнулся с этой проблемой и заметил, что мой брандмауэр автоматически включается, теперь я просто отключил брандмауэр , и это решило мою проблему. Надеюсь, это кому-нибудь поможет :)

0 голосов
/ 08 июня 2017

Вы должны сделать следующие шаги.

Перейти к IIS ->
Сайты ->
Нажмите на свой веб-сайт ->
В действии Нажмите на Изменить разрешения ->
Безопасность ->
Нажмите на ДОБАВИТЬ ->
Дополнительно ->
Найти сейчас ->
Добавьте в него всех пользователей ->
и предоставить все разрешения другим пользователям ->
нажмите Ok.

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

...