IIS - сайт работает только на одном порту в настройках localhost

Я настроил веб-сайт (веб-сайт DotNetNuke) на IIS 8.5 с операционной системой Windows Server 2012 R2 на порту 85. Я получил доступ к веб-сайту с помощью http://localhost:85 и сайт работал хорошо. Затем я добавил еще одну привязку к сайту в IIS в отношении IP-адреса, чтобы я мог получить к нему доступ как 192.168.5.187:85, Однако я не могу получить к нему доступ через IP-адрес, так как я получаю страницу с ошибкой. В частности, я получаю "404 Not Found error page".

При дальнейшем расследовании я обнаружил, что веб-сайт работает только на одном порту - 85. Всякий раз, когда я изменяю привязку, чтобы указать на другой порт, веб-сайт не работает (выдает ошибку 404 Not Found). Текущая привязка сайта

IP Address      Port
    *            85

и сайт работает нормально. Если я изменю эту привязку на

IP Address      Port
     *           83 (infact anything other than 85)

веб-сайт не работает.(выдает ошибку 404 Not Found)

Подвести итоги:

  1. Веб-сайт не работает, когда я добавляю привязку с IP-адресом.(выдает ошибку 404 Not Found)

  2. Веб-сайт не работает ни на каком порту кроме 85 при использовании localhost, (выдает ошибку 404 Not FOUND)

Мне трудно понять это, поэтому кто-нибудь может мне помочь, так как мне нужен этот сайт, чтобы быть доступным через IP-адрес.

3 ответа

Решение

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

Чтобы настроить привязки на уровне DNN, псевдонимы портала (привязки) можно указать, следуя меню "Хост> Управление сайтом" и затем редактируя раздел "Псевдонимы портала". Чтобы добавить псевдоним портала, проверьте http://www.dnnsoftware.com/wiki/page/portal-alias

Обратите внимание, что если вы добавляете другой порт, отличный от того, который вы использовали для установки DNN в первый раз, и параметр "Автоматически добавлять псевдоним сайта" не включен, после добавления привязки IIS вам также необходимо добавить новый псевдоним портала, используя этот порт. Псевдоним портала, в вашем случае, будет "localhost:83". Это связано с тем, что хотя "Автоматически добавлять псевдоним сайта" включено по умолчанию, если вы вручную отключили эту опцию или создали второй портал, автоматические псевдонимы портала не добавляются.

Также не забудьте очистить локальный кэш (меню "Инструменты> Очистить кэш"), поскольку псевдонимы портала кэшируются после инициализации приложения. При добавлении / удалении псевдонимов портала кэш автоматически очищается, но в зависимости от определенных сценариев "webfarm/cachingProvider" может возникнуть сложность.

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

Для тех, кто сталкивается с этой проблемой, вот решение:

Всякий раз, когда вы добавляете новую привязку к веб-сайту, PortalAlias таблица обновляется в базе данных. Это то, что делается автоматически DNN, Когда DNN получает запрос веб-страницы, он проверяет domain url веб-страницы с адресами, хранящимися в PortalAlias таблица и только потом обрабатывает веб-страницу. Если domain url и адреса не совпадают, тогда либо 403, либо 404 ошибки HTTP предоставляются в качестве выходных данных.

Однако иногда DNN не может автоматически добавить привязку. Следовательно, если ваша веб-страница не работает с определенной привязкой IIS, начните с проверки PortaAlias таблица в соответствующей базе данных.

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

Возможно, другое приложение уже использует другие порты, которые вы пробовали. Откройте командную строку и запустите 'netstat -a' и добавьте вывод к своему вопросу, чтобы мы могли диагностировать происходящее.

Другие вопросы по тегам