Как мне разрешить другим (mac) компьютерам получать доступ к приложению IIS7 MVC3 на моем (win7) компьютере? - PullRequest
0 голосов
/ 04 марта 2012

Я пытаюсь сделать мое приложение MVC доступным на других компьютерах, особенно на компьютерах Mac. Я впервые запускаю сайт на IIS7, потому что на работе я привык к более старой версии IIS на winXP. На этом компьютере я обычно использую сервер разработки VS2010.

Я использую Windows7 (64-разрядную версию) и хочу получить доступ к этому сайту на Mac / других компьютерах.

Настройки привязки моего сайта:
Тип: http
IP-адрес: все неназначенные
Порт: 80
Имя хоста: www.thisisatest.com

НА МОЕЙ МАШИНЕ:
Я могу получить доступ к www.thisisatest.com, но не к COMPUTERNAME / www.thisisatest.com или IPADDRESS / www.thisisatest.com, который, я думаю, должен работать, потому что я делал это много раз в нашем офисе на winXP.

Но я могу получить доступ к странице IIS7 с ИМЯ КОМПЬЮТЕРА / или IPADDRESS /

НА ДРУГОЙ МАШИНЕ (MAC):
Я получаю сообщение об ошибке «Сервер не отвечает» при попытке доступа к IPADDRESS /

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

Вопросы:

1.Почему я не могу получить доступ к сайту с помощью COMPUTERNAME / www.thisisatest.com или IPADDRESS / www.thisisatest.com даже на моей собственной машине? Это странно, потому что на моем собственном компьютере размещено мое приложение.

2.Что делать, чтобы разрешить удаленный доступ? Имеет ли значение, если я использую Mac-машину для доступа к сайту?

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 04 марта 2012

Я понимаю, что это не ответ на ваш вопрос об IIS.Я запускаю свои сайты разработки на IIS Express, и мне нужно было получить доступ к сайту, работающему на IIS Express, с моего MacBook Pro и Ipad.Если вы решите переключиться с IIS на IIS Express, вы можете использовать этот подход для доступа к сайту, работающему в IIS Express, с других компьютеров вашей сети (включая телефоны и планшеты, работающие через WiFi-DHCP).

Во-первых,следуйте руководству Скотта Хансельмана по работе с ниндзя, чтобы запускать ваш сайт через порты 80/443 через IIS Express .

Затем найдите IP-адрес вашей машины-победителя VS в сети.Сегодня у меня 192.168.1.113.

Далее откройте MyDocuments / IISExpress / config / applicationhost.config.В статье Хансельмана вы должны были установить <binding> разделы здесь.Просто добавьте новый для вашего IP.Вот как это может выглядеть:

<bindings>
    <binding protocol="http" bindingInformation="*:1976:localhost" />
    <binding protocol="https" bindingInformation="*:44376:localhost" />
    <binding protocol="http" bindingInformation="*:80:HANSELMAN-W500" />
    <binding protocol="https" bindingInformation="*:443:HANSELMAN-W500" />
    <binding protocol="http" bindingInformation="*:80:192.168.1.113" />
    <binding protocol="https" bindingInformation="*:443:192.168.1.113" />
</bindings>

После открытия брандмауэра, запустите VS от имени администратора и запустите свой сайт.Если вы можете получить к нему доступ через http://localhost:1976, и http://HANSELMAN -W500 (или имя вашего компьютера), вы сможете получить к нему доступ с компьютера Mac или планшета по следующему URL-адресу:

http://192.168.1.113/

или, если вы также настроили SSL для порта 443,

https://192.168.1.113/

Вы также можете заставить это работать, запустив VS как обычный пользователь, а не как администратор.Для этого вам нужно будет выполнить команды, подобные следующим:

netsh http add urlacl url=http://192.168.1.113:80/ user=everyone
netsh http add urlacl url=https://192.168.1.113:443/ user=everyone

... опять же, эти команды (а также способы их отмены) доступны в статье о ниндзя.После их запуска IIS Express должен запускаться с VS без необходимости его запуска с правами администратора.

0 голосов
/ 04 марта 2012
  1. Для этого ваше приложение должно быть настроено в папку с именем www.thisisatest.com. Установка этого имени хоста в свойствах приложения не означает, что вы получаете к нему доступ через http://IPADDRESS/www.thisisatest.com. Это означает, что IIS будет направлять эти запросы в приложение, только если адрес, используемый клиентом, имеет форму http://www.thisisatest.com/<querystring>. Любой другой запрос не будет выполнен. Попробуйте удалить этот параметр, это позволит вам получить доступ к приложению через http://IPADDRESS/ или http://MACHINENAME (в Windows). На Mac обычно работает только вариант IP (если только машина IIS не может быть восстановлена ​​через DNS).

  2. Если порт, на котором работает веб-сайт, не заблокирован, приложение должно быть доступно по IP. Конечно, есть и другие способы блокировки определенных клиентских IP-адресов и т. Д., Но если вы не изменили какие-либо настройки по умолчанию, это должно сработать.

...