Iis перенаправление запросов на каталог


Содержание

Как перенаправить URL-путь в IIS?

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

Если я переместил содержимое от:
mysite.org.uk/stuff
до
stuff.mysite.org.uk/

Могу ли я автоматически перенаправлять запросы на конкретные страницы , как
mysite.org.uk/stuff/countrybriefing/tanzania/travel.html
к
stuff.mysite.org.uk/countrybriefing/tanzania/travel.html

Я знаю, что .htaccess может сделать такие вещи, как это в Apache, есть эквивалент в IIS?

Форматирование URL переадресации следующим образом:

$S Будет сказать , что любой путь должен быть применен к новому URL. $Q говорит , что все переменные параметров должны быть переданы новому URL.

В IIS 7.0, необходимо включить опцию Redirect to exact destination . Я считаю , что должен быть вариант , как это в IIS 6.0 тоже.

Перенаправление веб-узлов в IIS 6.0 (IIS 6.0)

Когда браузер запрашивает страницу или программу на вашем веб-сайте, веб-сервер размещает страницу идентифицированный URL и возвращает его в браузер. При перемещении страницы на вашем веб-сайте, вы не всегда можете исправить все ссылки, которые ссылаются на старый URL страницы. Чтобы убедиться в том, что браузеры могут найти страницу на новом URL, вы можете указать веб-сервер для перенаправления браузера на новый URL.

Вы можете перенаправить запросы на файлы в одном каталоге на другой каталог, на другой веб — сайт, или в другой файл в другом каталоге. Когда браузер запрашивает файл на оригинальный URL, веб — сервер инструктирует браузер запросить страницу с помощью нового URL.

Вы должны быть членом группы администраторов на локальном компьютере, чтобы выполнить следующую процедуру или процедуру. В целях безопасности, необходимо войти на компьютер с помощью учетной записи, которая не входит в группу администраторов, а затем использовать RunAs команду для запуска диспетчера IIS в качестве администратора. В командной строке RunAs типа / пользователь: Administrative_AccountName «ММС% SystemRoot% \ system32 \ Inetsrv \ iis.msc».

процедуры

Чтобы перенаправить запросы на другой веб-сайт или каталог

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

Нажмите Домашний каталог, Виртуальный каталог или вкладку Directory.

Под содержанием для этого источника должно исходить от, нажмите Перенаправление на URL.

В поле Адрес введите URL-адрес каталога назначения или веб-сайта. Например, чтобы перенаправить все запросы на файлы в каталоге каталога на каталог NewCatalog, типа / NewCatalog.

Для того, чтобы перенаправить все запросы на один файл

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

Нажмите Домашний каталог, Виртуальный каталог или вкладку Directory.

Под содержанием для этого источника должно исходить от, нажмите Перенаправление на URL.

В поле Адрес введите URL-адрес файла назначения.

Выберите точный адрес введенный выше флажок, чтобы предотвратить веб-сервер с добавлением исходного имени файла в URL назначения.

Вы можете использовать подстановочные знаки и переменные перенаправления в URL назначения точно контролировать, как оригинальный URL переводятся в URL назначения.

Вы можете также использовать метод перенаправления для перенаправления всех запросов на файлы в определенной директории в программу. Как правило, вы должны передавать параметры из исходного URL в программу, которую вы можете сделать с помощью перенаправления переменных.

Для того, чтобы перенаправить запросы на программу

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

Нажмите Домашний каталог, Виртуальный каталог или вкладку Directory.

Под содержанием для этого источника должно исходить от, нажмите Перенаправление на URL.

В поле Адрес введите URL-адрес программы, включая любые переменные перенаправления, необходимых для передачи параметров в программе. Например, чтобы перенаправить все запросы на сценарии в каталоге Scripts в лесозаготовительной программу, которая записывает запрошенный URL и любые параметры, передаваемые с URL, введите /Scripts/Logger.exe?URL=$V+PARAMS=$P. $ V и $ P являются переменные перенаправления.

Выберите точный адрес введенный выше флажок, чтобы предотвратить веб-сервер с добавлением исходного имени файла в URL назначения.

Страница «Перенаправление HTTP»

Используйте страницу компонента Перенаправление HTTP, чтобы включить перенаправление и настроить способ перенаправления входящих запросов в новое место назначения.

Список элементов пользовательского интерфейса

В следующих таблицах содержатся описания элементов интерфейса, которые доступны на странице компонента и на панели Действия.

Элементы страницы компонента

Запросы на перенаправление по следующему назначению

Выберите этот параметр, чтобы включить перенаправление и задать URL-адрес, по которому будут перенаправляться запросы. Запросы могут перенаправляться по виртуальному пути, такому как http://www.contoso.com/sales, или в файл, например http://www.contoso.com/sales/default.aspx.

Перенаправлять все запросы по абсолютному назначению (а не относительно назначения)

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

Когда этот параметр не выбран, назначение определяется относительно значения, указанного в параметре Запросы на перенаправление по следующему назначению. Например, если при настройке определяется, что перенаправлением назначения является http://www.contoso.com/sales, и входящим запросом является http://www.contoso.com/marketing/default.aspx, службы IIS будут перенаправлять этот запрос в http://www.contoso.com/sales/default.aspx.

Запросы на перенаправление содержимого только этого каталога (без подкаталогов)

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

Когда этот параметр не выбран, запросы перенаправляются в местоположение, указанное в поле Запросы на перенаправление по следующему назначению, и любой подкаталог, находящийся ниже этого местоположения. Например, если при настройке определяется, что перенаправлением назначения является http://www.contoso.com/sales, запросы могут обслуживаться из каталогов, расположенных ниже /sales, когда параметр Перенаправлять все запросы по абсолютному назначению (а не относительно назначения) также не был выбран.

Выберите один из следующих параметров, чтобы задать код состояния перенаправления, который отправляется клиентам:

    Найдено (302) – предписывает веб-клиенту выдать новый запрос для этого местоположения. Этот параметр установлен по умолчанию.

Постоянное (301) – сообщает веб-клиенту, что местоположение запрошенного ресурса было изменено постоянно.

Временное (307) – предохраняет веб-браузер от потери данных, когда он отправляет запрос HTTP POST .

Элементы панели «Действия»

Имя элемента Описание

Позволяет сохранить изменения, внесенные на странице компонента.

Позволяет отменить изменения, внесенные на странице компонента.

IIS 7: Перенаправление всех запрос на Default.aspx

December 2020

7.8k раз

Мы хотим, чтобы перенаправить весь запрос в качестве сайта ASP.NET в

/ Default.aspx закрыть сайт. Мы используем IIS7. На сайте есть пути, как это, возвращающие страницу:

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

Мы бы нормально использовать что-то вроде этого в web.config:

Проблема в том, что она не будет перенаправлять папки URL, как это

4 ответы

Я хотел бы написать что-то вроде этого в Global.asax (заметьте, это просто пример, не готовый к производству код):

Также считаю, что этот код будет нарушать non-ASP.NET запросов, когда приложение работает в интегрированном режиме (в другом он будет перенаправлять запросы даже для изображений и таких).


Вы можете поместить файл с именем App_Offline.htm в корне любого приложения ASP.NET. В результате принятия запроса ЛЮБОЙ .NET страницы и выводит содержимое файла HTM вместо запрашиваемой страницы. Это на самом деле не редирект, но это очень простой способ взять весь сайт вниз. Если вам нужно, вы также можете использовать стандартный метатекли отправить любой запрашиваемый на новое место (только не помню , чтобы сделать так , чтобы файл ASPX на том же сайте).

Вы могли бы это сделать, если файлы не существуют больше.

Вы пробовали HttpRedirect ? Вы должны установить функцию первого же.

URL перенаправления IIS для виртуального каталога

Как установить URL-адрес перенаправления для виртуального каталога в IIS 7.0? Я установил последний модуль перезаписи URL 2.x.

Я могу объяснить мою проблему на примере:

У меня есть веб-сайт на моем сервере IIS 7.0, www.mysite.com. Я решил создать виртуальный каталог «продажи» под моим сайтом, который указывает на корневой каталог сайта. Теперь мне нужно создать URL перенаправления для VDIR. Vdir указывает на тот же виртуальный корневой каталог, что и корневой каталог моего сайта.

Основная идея заключается в том, что я могу перейти на www.mysite / sales и автоматически перенаправить на www.mysite.com?product >

Я пытался перенаправить URL перезаписи для vdir (не веб-сайта), но всегда получаю следующее сообщение об ошибке:

Это происходит, когда я указываю на виртуальный vdir и пытаюсь добавить правило.

Я могу добавить правила на уровень сайта, но правила не работают. Я имею в виду URL «www.mysite / sales» дает мне следующую ошибку. Я знаю, что ключ уникален. Я проверил это из web.config.

Этот тип функции был действительно прост в использовании в IIS 6.0, просто наведите указатель мыши на vdir и установите свойства -> перенаправление на URL.

Пожалуйста, кто-нибудь объяснит, как правильно сделать это в IIS 7.0?

Настройка перенаправления с HTTP на HTTPS для Outlook в Интернете в Exchange Server Configure http to https redirection for Outlook on the web in Exchange Server

По умолчанию в Exchange Server URL-адрес* ServerName* перенаправляет пользователей на HTTPS:// ИмяСервера/OWA. By default in Exchange Server, the URL https:// redirects users to https:// /owa. Но если кто-то пытается получить доступ к Outlook в Интернете (прежнее название — Outlook Web App) с помощью http:// * или http:// */OWA, они возникнет ошибка. But, if anyone tries to access Outlook on the web (formerly known as Outlook Web App) by using http:// or http:// /owa, they’ll get an error.

Вы можете настроить перенаправление HTTP для Outlook в Интернете, чтобы запросы для http://<> ServerName или http:// /OWA автоматически перенаправлялись на HTTPS://* */OWA. You can configure http redirection for Outlook on the web so that requests for http:// or http:// /owa are automatically redirected to https:// /owa. Для этого в Службы IIS (IIS) необходимо выполнить приведенные ниже действия по настройке. This requires the following configuration steps in Internet Information Services (IIS):

Удалите параметр Требовать SSL для веб-сайта по умолчанию. Remove the Require SSL setting from the default website.

Восстановите параметр Требовать SSL для других виртуальных каталогов на веб-сайте по умолчанию, где этот параметр был включен по умолчанию (кроме каталога /owa). Restore the Require SSL setting on other virtual directories in the default website that had it enabled by default (except for /owa).

Настройте веб-сайт по умолчанию на перенаправление HTTP-запросов к виртуальному каталогу /owa. Configure the default website to redirect http requests to the /owa virtual directory.

Отключите перенаправление HTTP для всех виртуальных каталогов на веб-сайте по умолчанию (включая каталог /owa). Remove http redirection from all virtual directories in the default website (including /owa).

Чтобы изменения вступили в силу, перезагрузите службы IIS. Reset IIS for the changes to take effect.

По умолчанию для параметров перенаправления SSL и HTTP для всех виртуальных каталогов на веб-сайте по умолчанию на веб-сайте по умолчанию на сервере Exchange Server по умолчанию используется параметр параметры перенаправления SSL и HTTP на веб-сайте по умолчанию в конце этой статьи. For the default SSL and http redirect settings on all virtual directories in the default website, see the Default Require SSL and HTTP Redirect settings in the default website on an Exchange server section at the end of this topic.

Что нужно знать перед началом работы What do you need to know before you begin?

Предполагаемое время выполнения процедуры: 15 минут. Estimated time to complete this procedure: 15 minutes.

Для выполнения этих процедур необходимы соответствующие разрешения. Сведения о необходимых разрешениях см. в статье запись «Диспетчер IIS» в разделе статьи Разрешения клиентов и мобильных устройств, посвященном разрешениям Outlook в Интернете. You need to be assigned permissions before you can perform this procedure or procedures. To see what permissions you need, see the «IIS Manager» entry in the Outlook on the web permissions section of the Clients and mobile devices permissions topic.

Процедуры, описанные в этом разделе, могут привести к тому, что файл Web. config %ExchangeInstallPath%ClientAccess\OAB будет создан в папке. The procedures in this topic might cause a web.config file to be created in the folder %ExchangeInstallPath%ClientAccess\OAB . Если в дальнейшем отключить перенаправление HTTP для Outlook в Интернете, Outlook может зависать, когда пользователи выбирают команду Отправка и получение. If you later remove http redirection for Outlook on the web, Outlook might freeze when users click Send and Receive. Чтобы предотвратить зависание Outlook после удаления перенаправления HTTP, удалите файл Web. config в %ExchangeInstallPath%ClientAccess\OAB папке. To prevent Outlook from freezing after you remove http redirection, delete the web.config file in %ExchangeInstallPath%ClientAccess\OAB .

Теперь для шифрования данных, которыми обмениваются компьютерные системы, используется протокол TLS вместо протокола SSL. Эти протоколы настолько сходны между собой, что термины «SSL» и «TLS» (без версий) часто используются как взаимозаменяемые. Поэтому когда в статьях по Exchange, Центр администрирования Exchange и Командная консоль Exchange упоминается термин «SSL», часто под ним подразумевается как протокол SSL, так и протокол TLS. Как правило, термин «SSL» обозначает именно протокол SSL только в тех случаях, когда указан номер версии (например, SSL 3.0). О том, почему следует отключить протокол SSL и перейти на протокол TLS, см. в статье Как устранить уязвимость SSL 3.0. Secure Sockets Layer (SSL) is being replaced by Transport Layer Security (TLS) as the protocol that’s used to encrypt data sent between computer systems. They’re so closely related that the terms «SSL» and «TLS» (without versions) are often used interchangeably. Because of this similarity, references to «SSL» in Exchange topics, the Exchange admin center, and the Exchange Management Shell have often been used to encompass both the SSL and TLS protocols. Typically, «SSL» refers to the actual SSL protocol only when a version is also provided (for example, SSL 3.0). To find out why you should disable the SSL protocol and switch to TLS, check out Protecting you against the SSL 3.0 vulnerability.

Сочетания клавиш для процедур, описанных в этой статье, приведены в статье Сочетания клавиш в Центре администрирования Exchange. For information about keyboard shortcuts that may apply to the procedures in this topic, see Keyboard shortcuts in the Exchange admin center.

Возникли проблемы? Попросите помощи на форумах Exchange. Перейти на форумы можно по следующим ссылкам: Exchange Server, Exchange Online или Exchange Online Protection. Having problems? Ask for help in the Exchange forums. Visit the forums at: Exchange Server, Exchange Online, or Exchange Online Protection.

Этап 1. Удаление параметра «Требовать SSL» для веб-сайта по умолчанию с помощью диспетчера служб IIS Step 1: Use IIS Manager to remove the Require SSL setting from the default website

Откройте диспетчер служб IIS на сервере Exchange. Открыть диспетчер служб IIS в Windows Server 2012 или более поздних версиях легко. Просто нажмите клавишу Windows+Q, введите в строке поиска inetmgr и в списке результатов выберите Диспетчер служб IIS. Open IIS Manager on the Exchange server. An easy way to do this in Windows Server 2012 or later is to press Windows key + Q, type inetmgr, and select Internet Information Services (IIS) Manager in the results.

Разверните узел сервера, а затем — раздел Сайты. Expand the server, and expand Sites.

Выберите веб-сайт по умолчанию. Select Default Web Site. и убедитесь, что в нижней части страницы выбрано представление «функции «. and verify Features View is selected at the bottom of the page.

В разделе IIS дважды щелкните элемент Параметры SSL. In the IIS section, double-click SSL Settings.

На странице Параметры SSL снимите флажок Требовать SSL, а затем на панели Действия нажмите кнопку Применить. On the SSL Settings page, clear the Require SSL check box, and in the Actions pane, click Apply.

Примечание. Чтобы выполнить эту процедуру в командной строке, откройте командную строку с повышенными привилегиями на сервере Exchange Server (для этого выберите Запуск от имени администратора) и выполните следующую команду: Note: To perform this procedure on the command line, open an elevated command prompt on the Exchange server (a Command Prompt window you open by selecting Run as administrator) and run the following command:

Этап 2. Восстановление параметра «Требовать SSL» для других виртуальных каталогов на веб-сайте по умолчанию с помощью диспетчера служб IIS Step 2: Use IIS Manager to restore the Require SSL setting on other virtual directories in the default website

При изменении параметра Требовать SSL для веб-сайта в службах IIS этот параметр автоматически наследуется всеми виртуальными каталогами на веб-сайте. Так как нам нужно настроить только Outlook в Интернете, необходимо восстановить параметр Требовать SSL для других виртуальных каталогов, где он был включен по умолчанию. When you change the Require SSL setting on a website in IIS, the setting is automatically inherited by all virtual directories in the website. Because we’re only interested in configuring Outlook on the web, you need to restore the Require SSL setting for other virtual directories that had it enabled by default.

На основе сведений, указанных в параметрах по умолчанию «требовать SSL и перенаправление HTTP» в разделе веб-сайт по умолчанию на сервере Exchange Server , выполните следующую процедуру для восстановления параметра в других виртуальных каталогах, где требуется протокол SSL . по умолчанию: Based on the information in the Default Require SSL and HTTP Redirect settings in the default website on an Exchange server section, use the following procedure to restore the setting on the other virtual directories where Require SSL was enabled by default:

In IIS Manager, expand the server, expand Sites, and expand Default Web Site. In IIS Manager, expand the server, expand Sites, and expand Default Web Site.

Выберите виртуальный каталог и убедитесь, что в нижней части страницы включен параметр Просмотр возможностей. Select the virtual directory, and verify Features View is selected at the bottom of the page.

В разделе IIS дважды щелкните элемент Параметры SSL. In the IIS section, double-click SSL Settings.

На странице Параметры SSL установите флажок Требовать SSL, а затем на панели Действия нажмите кнопку Применить. On the SSL Settings page, select the Require SSL check box, and in the Actions pane, click Apply.

Повторите описанные выше действия для каждого виртуального каталога на веб-сайте по умолчанию, где параметр Требовать SSL был включен по умолчанию (кроме каталога /owa). Repeat the previous steps on each virtual directory in the default website that had Require SSL enabled by default (except for /owa). По умолчанию единственными виртуальными каталогами, для которых не требуется поддержка SSL , являются/PowerShell и/РПК. The only virtual directories that don’t have Require SSL enabled by default are /PowerShell and /Rpc.

Примечание. для выполнения этих процедур в командной строке замените _ _ на имя виртуального каталога и выполните следующую команду в командной строке с повышенными привилегиями: Note: To perform these procedures on the command line, replace with the name of the virtual directory, and run the following command in an elevated command prompt:

Этап 3. Настройка веб-сайта по умолчанию на перенаправление к виртуальному каталогу /owa с помощью диспетчера служб IIS. Step 3: Use IIS Manager to configure the default website to redirect to the /owa virtual directory.

В диспетчере служб IIS разверните узел сервера и выберите Сайты. In IIS Manager, expand the server, and expand Sites.

Выберите Веб-сайт по умолчанию и убедитесь, что в нижней части страницы выбран элемент Просмотр возможностей. Select Default Web Site. and verify Features View is selected at the bottom of the page.

В разделе IIS дважды щелкните элемент Перенаправление HTTP. In the IIS section, double-click HTTP Redirect.

На странице Перенаправление HTTP настройте указанные ниже параметры. On the HTTP Redirect page, configure the following settings:

Установите флажок Запросы на перенаправление по следующему назначению и введите значение /owa. Select the Redirect requests to this destination check box, and enter the value /owa.

В разделе Поведение при перенаправлении установите флажок Запросы на перенапр. содержимого этого каталога (без подкаталогов). In the Redirect Behavior section, select the Only redirect requests to content in this directory (not subdirectories) check box.

Убедитесь, что в списке Код состояния выбрано значение Найдено (302). In the Status code list, verify Found (302) is selected.

По завершении нажмите кнопку Применить на панели Действия. When you’re finished, click Apply in the Actions pane.

Примечание. Чтобы выполнить эту процедуру в командной строке, откройте командную строку с повышенными привилегиями и выполните следующую команду: Note: To perform this procedure on the command line, open an elevated command prompt and run the following command:

Этап 4. Отключение перенаправления HTTP для всех виртуальных каталогов на веб-сайте по умолчанию с помощью диспетчера служб IIS Step 4: Use IIS Manager to remove http redirection from all virtual directories in the default website

При включении перенаправления для веб-сайта в службах IIS этот параметр автоматически наследуется всеми виртуальными каталогами на веб-сайте. When you enable redirection on a website in IIS, the setting is automatically inherited by all virtual directories in the website. Так как нам нужно настроить перенаправление только для веб-сайта по умолчанию, необходимо удалить параметр перенаправления для всех виртуальных каталогов. Because we’re only interested in configuring redirection for the default website, you need to remove the redirect setting from all virtual directories. По умолчанию перенаправление не включено для каталогов (в том числе виртуальных) на стандартном веб-сайте. By default, no directories or virtual directories in the default website are enabled for redirection. Для получения дополнительных сведений см. параметры по умолчанию для параметров перенаправления SSL и HTTP в веб-сайте по умолчанию в разделе Exchange Server . For more information, see the Default Require SSL and HTTP Redirect settings in the default website on an Exchange server section.

Чтобы удалить параметр перенаправления для всех виртуальных каталогов на веб-сайте по умолчанию (включая каталог /owa), выполните указанные ниже действия. Use the following procedure to remove the redirect setting from all virtual directories in the default website (including /owa):

In IIS Manager, expand the server, expand Sites, and expand Default Web Site. In IIS Manager, expand the server, expand Sites, and expand Default Web Site.

Выберите виртуальный каталог и убедитесь, что в нижней части страницы включен параметр Просмотр возможностей. Select the virtual directory, and verify Features View is selected at the bottom of the page.

В разделе IIS дважды щелкните элемент Перенаправление HTTP. In the IIS section, double-click HTTP Redirect.

На странице Перенаправление HTTP измените указанные ниже параметры. On the HTTP Redirect page, change the following settings:

Снимите флажок Запросы на перенапр. содержимого этого каталога (без подкаталогов). Clear the Only redirect requests to content in this directory (not subdirectories) check box.

Снимите флажок Запросы на перенаправление по следующему назначению. Clear the Redirect requests to this destination check box.

В области Действия нажмите кнопку Применить. In the Actions pane, click Apply.

Повторите вышеуказанные действия для каждого виртуального каталога на веб-сайте по умолчанию. Repeat the previous steps on each virtual directory in the default website.


Примечание. для выполнения этих процедур в командной строке замените _ _ на имя виртуального каталога и выполните следующую команду в командной строке с повышенными привилегиями: Note: To perform these procedures on the command line, replace with the name of the virtual directory, and run the following command in an elevated command prompt:

Этап 5. Перезапуск служб IIS с помощью диспетчера IIS Step 5: Use IIS Manager to restart IIS

В диспетчере IIS выберите сервер. In IIS Manager, select the server.

В области Действия выберите элемент Перезапустить. In the Actions pane, click Restart.

Примечание. чтобы выполнить эту процедуру в командной строке, откройте командную строку с повышенными привилегиями на сервере Exchange и выполните следующие команды: Note: To perform this procedure on the command line, open an elevated command prompt on the Exchange server and run the following commands:

Как убедиться, что все получилось? How do you know this worked?

Чтобы убедиться, что перенаправление с HTTP на HTTPS для Outlook в Интернете успешно настроено, выполните следующие действия: To verify that you have successfully configured http to https redirection for Outlook on the web, perform the following steps:

На клиентском компьютере откройте веб-браузер и введите URL-адрес http:// . On a client computer, open a web browser and enter the URL http:// . На локальном сервере можно использовать значение http://127.0.0.1 или http://localhost. On the local server, you can use the value http://127.0.0.1 or http://localhost.

Убедитесь, что вы перенаправлены в Outlook в Интернете по протоколу HTTPS и убедитесь, что вы можете выполнить вход успешно. Verify that you’re redirected to Outlook on the web in https, and verify that you can log in successfully.

Откройте URL-адрес* ServerName*/OWA ( http://127.0.0.1/owa или http://localhost/owa). Open the URL http:// /owa (or http://127.0.0.1/owa or http://localhost/owa).

Убедитесь, что вы перенаправлены в Outlook в Интернете по протоколу HTTPS и убедитесь, что вы можете выполнить вход успешно. Verify that you’re redirected to Outlook on the web in https, and verify that you can log in successfully.

Параметры по умолчанию требуют SSL и перенаправления HTTP на веб-сайте по умолчанию на сервере Exchange Default Require SSL and HTTP Redirect settings in the default website on an Exchange server

Параметры по умолчанию » требовать SSL и перенаправление http » для веб-сайта по умолчанию и всех виртуальных каталогов на веб-сайте по умолчанию на сервере Exchange описаны в следующей таблице. The default Require SSL and HTTP Redirect settings for the default website and all virtual directories in the default website on an Exchange server are described in the following table.

IIS как пограничный веб-сервер (теперь haproxy)

В этой статье я хочу описать не самый типичный сценарий, который, тем не менее, имеет право на жизнь.
Дело в том, что мы используем IIS как прокси для других веб-серверов компании. Я расскажу, как это реализовано и с какими трудностями пришлось столкнуться​.

Постановка задачи
Разберём на примере сервера YouTrack. Он представлен неприглядным srv-youtrack-01.local.domain и находится на веб-сервере внутри компании. Задача заключается в том, чтобы обеспечить доступ к нему из интернета по красивому имени yt.company.ru. При этом обязательно должен использоваться https.

Реализация
Для начала работы нам понадобится установить компонент URL Rewrite. Это можно сделать при помощи web platform installer, а также вручную. После его установки мы увидим в диспетчере служб IIS новый ярлык
переопределение URL-адресов».

При помощи этого инструмента можно создать правило переопределения адресов «обратный прокси-сервер».

При создании правила нужно указать URL сервера (без префикса http:// — его IIS добавит автоматически), на который будет происходить проксирование. В итоге мы получим правило, доступное для редактирования. Оно применяется не ко всем запросам, а только к тем, которые подходят под критерии, которые мы можем настраивать. Для начала проверяется URL на соответствие шаблону, после чего в ход идут проверки по другим критериям.

Сразу оговорюсь, что тут есть два пути: первый путь — создать набор правил с разными шаблонами URL-адресов для разных ресурсов на одном IIS-сайте; а второй — создать по сайту для каждого проксируемого ресурса и в каждом из них сделать по одному правилу. Понимая, что первый путь более джедайский, я все-таки избрал путь второй — пусть не такой красивый, зато я не рискую написав неправильное регулярное выражение для одного сайта сломать всю маршрутизацию. Поэтому шаблон URL-адреса у меня везде дефолтный «(.*)».

Итак, я создаю сайт yt.company.ru с биндингами на 80 и 443 порт и обязательным указанием имени узла, чтобы IIS знал, к какому сайту я обращаюсь. Про получение и установку сертификата для 443 позволю себе не упоминать. Обращу лишь внимание, что сам сервис настраивать на использование https не нужно — внутри сети шифроваться не от кого, а внешние запросы будут соединяться по ssl с пограничным сервером, который будет уже по незащищенному каналу проксировать запросы внутри сети.

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

Отлично, теперь все запросы yt.company.ru проксируются на внутренний сервер с неприглядным именем srv-youtrack-01.local.domain прозрачно для пользователя.

Однако, все запросы yt.company.ru отсекаются с ошибкой 403, что не очень красиво. Для решения этой проблемы можно либо создать index.html с редиректом, либо еще одно правило URL Rewrite, у которого в поле «действие» выберем постоянное перенаправление на нужный нам URL.

Следует обратить внимание, что правила для сайта применяются по порядку, поэтому сначала нужно расположить правило с условием, а потом правило без условий. При этом, так как второе правило применяется ко всем URL без исключения, для первого правила необходимо поставить (оставить поставленной) галочку «Остановить обработку последующих правил».

После манипуляций с графическим интерфейсом в корне нашего сайта создается web.config, который содержит все созданные правила. Поэтому если требуется проксировать еще какой-то сайт, то эти манипуляции повторять не нужно, можно просто скопировать web.config и изменить в нем требуемый URL или после копирования воспользоваться графическим интерфейсом для изменения правил. Более того, можно вообще не пользоваться интерфейсом, а писать сразу туда — кому как нравится.

Подводные камни
При переходе на вкладку «Agile boards» YouTrack генерит URL-адрес вида yt.company.ru/rest/agile/Overview-0/sprint/Iteration+24. Далее, при переключении между спринтами yt.company.ru/rest/agile/Overview-0/sprint/Iteration%252023?q=. При переходе на эти урлы IIS стал возвращать мне 404 ошибку. Это свидетельствовало о том, что запросы не проксируются. При этом переходы между сохраненными запросами вида yt.company.ru/issues/IT?q=%23+Assigned+to%3A+me+updated%3A+ вполне корректно отрабатывали.

Эксперименты с добавлением знака вопроса в середину проблемного URL закончились тем, что я стал получать 404 ошибку уже от YouTrack-сервера, а не IIS. Это натолкнуло меня на мысль, что IIS по каким-то своим соображениям (привет, Microsoft) интерпретирует URL и это надо исправить.

Проблема со знаком «плюс» в середине адреса решилась добавлением параметра requestFiltering allowDoubleEscaping=«true»:

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

Вот какой web.config получился после всех манипуляций:

Итоги
Вероятно, решения, которые я нашел, не являются оптимальными и вместо разрешения всего подряд нужно было аккуратно прописать правила, подходящие в конкретном случае. Но сейчас это работает. Буду рад выслушать ваши соображения и предложения.

Таким образом у нас в организации проксируются абсолютно все веб-серверы, которым нужен доступ извне, среди которых есть и nginx, и apache, и svn, и gitlab, и exchange web access.

Основная проблема, которая заставляет меня находиться в поиске решения заключается в том, что через прокси не работает NTLM-авторизация, так нужная для многих сервисов компании Microsoft. Мёртвый продукт TMG использовать не хочется, поэтому сейчас пытаюсь разобраться с новой службой Windows Server 2012 R2 под названием Web Application Proxy параллельно поглядывая на nginx и apache, которые, кажется, тоже пока не умеют проксировать NTLM.

Ссылки

Большой update:
В комментариях мне посоветовали попробовать haproxy. Зайдя на сайт я сделал поиск по странице «ntlm» и нашел «full HTTP keep-alive for better support of NTLM and improved efficiency in static farms», что придало мне уверенности.
После нескольких дней активной возни в консоли я таки осилил этот замечательный инструмент и теперь IIS в качестве прокси-сервера мне больше не нужен. Отдельную статью про это, думаю, писать не стоит, поэтому решил обновить топик.

Работает всё это дело достаточно просто и из коробки:
1. Устанавливается из backports при помощи apt-get (предпочитаю debian)
2. Пишется конфиг. Слегка правятся настройки проксируемых приложений
3. Переключается iptables на новый прокси

На втором пункте остановлюсь подробнее.
В секцию defaults конфига дописал

Последний пункт нужен для того, чтобы бакенду передавалось имя хоста, остальные — «как у всех».

Далее создаются фронтенды для 80 и 443 портов, которые будут слушать и решать, на какой бакенд посылать запрос в зависимости от некоторых условий. А условие у меня только одно — пришедшее имя хоста.

С https несколько сложнее. На помощь пришёл соседний топик, в комментариях которого рекомендовали использовать SNI. Его и использовал

Это оказалось очень просто! Первым делом генерируются сертификаты для всех бакендов — именно они и будут отдаваться клиентам. Я использую PKI от Микрософта, поэтому пришлось немного повозиться с генерацией реквестов, выдачей и передачей на прокси этих сертификатов. Допускается, кстати, использование *.company.name, но я решил что это как-то не очень солидно, тем более при таком малом количестве бакендов. После того, как сертификаты готовы, нужно написать их тупо в строчку как на примере выше, а дальше написать правила для бакендов — сертификаты будут подсовываться по порядку.
Конструкция с использованием sni настолько простая, что даже объяснять не надо. Правда, вышло так, что большинство почтовых клиентов андроида не умеют (или не хотят) sni, и шлют запросы на 443 порт без указания имени хоста. Не беда! Для таких случаев есть

(я, кстати, не проверил, какой сертификат подсовывается в этом случае)

Ну а дальше описываются бакенды. С http всё тривиально:

Здесь it.company.name — это имя хоста, которое будет передано на srv-web-01. Мне это нужно по тому, что IIS на этом сервере использует идентификацию по имени хоста.

Для https вот такие конструкции

Тут можно разгрузить SSL, указав 80 порт — тогда шифроваться будет трафик между клиентом и проксей, а внутри сети не будет. А можно и дальше использовать https (verify none означает «не придираться к сертификату»). Стоит, однако, понимать, что клиент все-таки получает тот сертификат, который мы вписали при создании фронтенда. Если нужно подсовывать именно сертификат конечного сервера, то можнжо использовать способ, описанный в топике, который я указал выше.

Ещё один момент: хочется красиво редиректить http на https для некоторых серверов. Для этого я создал специальные бакенды с постфиксом _r, которые аккуратно перекидывают ничего не подозревающего пользователя на https.

Закомментированную строку не стал убирать сознательно — изначально использовался такой вариант, но он перенаправлял меня в корень сайта, что очень неудобно, если пользователь нажал на длинную ссылку http ://site.company.name/lib/doc/Русские%20буквы%20в%20названии.docx, а его перекинуло на главную страницу без всякой надежды найти свой документ. Велика вероятность, что он закроет её и попробует пройти по ссылке снова, но опять ничего не получит и очень расстроится. Чтобы такого не произошло, нам помогает конструкция redirect scheme https, которая аккуратно перенаправляет пользователя, подставляя весь URL.

Подробно обо всех тонкостях конфигурирования на странице документации cbonte.github.io/haproxy-dconv/configuration-1.5.html#4.2

Спасибо за внимание. Надеюсь, кому-то мой опыт окажется полезным.

Как перенаправить URL-путь в IIS?

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

Если я переместил контент из:
mysite.org.uk/stuff
в
stuff.mysite.org.uk/

Могу ли я автоматически перенаправлять запросы на определенные страницы, такие как
mysite.org.uk/stuff/countrybriefing/tanzania/travel.html
в
stuff.mysite.org.uk/countrybriefing/tanzania/travel.html

Я знаю, что.htaccess может делать такие вещи в Apache, есть ли эквивалент в IIS?

4 ответа

Перенаправление веб-сайтов в IIS 6.0 (IIS 6.0)

Когда браузер запрашивает страницу или программу на вашем веб-сайте, веб-сервер находит страницу, указанную в URL-адресе, и возвращает ее браузеру. Когда вы перемещаете страницу на своем веб-сайте, вы не всегда можете исправить все ссылки, которые ссылаются на старый URL-адрес страницы. Чтобы браузеры могли найти страницу по новому URL-адресу, вы можете указать веб-серверу перенаправить браузер на новый URL-адрес.

Вы можете перенаправлять запросы на файлы из одного каталога в другой каталог, на другой веб-сайт или в другой файл в другом каталоге. Когда браузер запрашивает файл по исходному URL-адресу, веб-сервер указывает браузеру запросить страницу с использованием нового URL-адреса.

Вы должны быть членом группы «Администраторы» на локальном компьютере, чтобы выполнить следующую процедуру или процедуры. В целях обеспечения безопасности войдите на компьютер, используя учетную запись, которая не входит в группу «Администраторы», а затем с помощью команды runas запустите диспетчер IIS от имени администратора. В командной строке введите runas /user:Administrative_AccountName «mmc %systemroot%\system32\inetsrv\iis.msc».

процедуры

Чтобы перенаправить запросы на другой веб-сайт или каталог

В диспетчере IIS разверните локальный компьютер, щелкните правой кнопкой мыши веб-сайт или каталог, который вы хотите перенаправить, и выберите Свойства.

Нажмите Домашний каталог, Виртуальный каталог или вкладку Каталог.

В разделе «Содержимое этого источника» выберите «Перенаправление на URL-адрес».

В поле Redirect to введите URL-адрес целевого каталога или веб-сайта. Например, чтобы перенаправить все запросы на файлы в каталоге Catalog в каталог NewCatalog, введите /NewCatalog.


Чтобы перенаправить все запросы в один файл

В диспетчере IIS разверните локальный компьютер, щелкните правой кнопкой мыши веб-сайт или каталог, который вы хотите перенаправить, и выберите Свойства.

Нажмите Домашний каталог, Виртуальный каталог или вкладку Каталог.

В разделе «Содержимое этого источника» выберите «Перенаправление на URL-адрес».

В поле Redirect to введите URL целевого файла.

Установите флажок Точный URL-адрес, указанный выше, чтобы веб-сервер не мог добавить исходное имя файла к целевому URL-адресу.

Вы можете использовать подстановочные знаки и переменные перенаправления в целевом URL, чтобы точно контролировать, как исходный URL транслируется в целевой URL.

Вы также можете использовать метод redirect для перенаправления всех запросов на файлы в определенном каталоге в программу. Как правило, вы должны передавать любые параметры из исходного URL в программу, что вы можете сделать, используя переменные перенаправления.

Перенаправить запросы в программу

В диспетчере IIS разверните локальный компьютер, щелкните правой кнопкой мыши веб-сайт или каталог, который вы хотите перенаправить, и выберите Свойства.

Нажмите Домашний каталог, Виртуальный каталог или вкладку Каталог.

В разделе «Содержимое этого источника» выберите «Перенаправление на URL-адрес».

В поле Redirect to введите URL-адрес программы, включая все переменные перенаправления, необходимые для передачи параметров в программу. Например, чтобы перенаправить все запросы на сценарии в каталоге Scripts в программу ведения журнала, которая записывает запрошенный URL-адрес и любые параметры, переданные с помощью URL-адреса, введите /Scripts/Logger.exe?URL=$V+PARAMS=$P. $V и $ P — переменные перенаправления.

Установите флажок Точный URL-адрес, указанный выше, чтобы веб-сервер не мог добавить исходное имя файла к целевому URL-адресу.

Перенаправление запроса IIS

Добрый день коллеги!
Имеется сервер 1, на котором поднята IIS.
Сервер 2, на котором так же поднята IIS и сервер 1С предприятия. Внешнее взаимодействие полностью отключено. По внутренней сети доступен только 80 порт..
Из интернета есть доступ к серверу 1
Требуется чтобы делался запрос http://server1.ru/base1/
Чтобы он переадресовывался на http://server2.ru/base1/
И возвращал результат. при этом чтобы для запрашиваемого оставался прозрачным адрес http://server1.ru/base1/

Скажите пожалуйста, как можно сделать переадресацию запроса в IIS.

IIS URL Rewrite Module 2 : 10 полезных советов

Эта статья содержит некоторые советы, которые могут оказаться полезными при решении задач, связанных с адресами URL на веб-сайтах. Каждый совет предлагает описание проблемы и пример решения с помощью URL Rewrite Module for IIS 7.0.

1. Добавление или удаление завершающего символа наклонной черты (слэша)

Многие веб-приложения используют виртуальные URL – это адреса, которые на самом деле не сопоставлены с реальными каталогами или файлами на сервере. Примером такого веб-приложения на ASP.NET MVC можно считать http://stackoverflow.com/questions/60857/modrewrite-equivalent-for-iis-7-0 на PHP примером может служить следующий адрес: http://ruslany.net/2008/11/url-rewrite-module-release-to-web/. Если вы запросите эти адреса с или без завершающего символа наклонной черты вы получите одну и ту же страницу. Это поведение вполне нормально для посетителей, но может создать проблему для поисковых систем или систем аналитики. Разные URL для одной страницы могут трактоваться такими системами как разные страницы, что в свою очередь может повлиять на ранг страницы и аналитические данные.

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

Правило для того чтобы всегда удалять завершающий слэш:

Правило для того чтобы всегда дополнять URL завершающим слэшем:

2. Приведение URL к нижнему регистру

Проблема похожая на проблему с завершающим слэшем возникает когда кто-нибудь ссылается на вашу страницу с разным регистром букв, например: http://ruslany.net/2008/07/IISNET-Uses-Url-Rewrite-Module/ вместо http://ruslany.net/2008/07/iisnet-uses-url-rewrite-module/. В этом случае поисковые и аналитические системы могут трактовать эти URL как разные страницы.

Для того чтобы исправить URL и привести все его символы в нижний регистр вы можете воспользоваться следующим правилом:

3. Канонические имена сайтов

Очень часто одному сайту соответствуют несколько имен. Наиболее распространенный пример: http://www.yoursitename.com и http://yoursitename.com. Другой пример: вы можете изменить имя своего сайта на новое, но хотите чтобы посетители со старого имени переходили на новое.

Очень простой правило поможет решить эти задачи:

Для примера того, как работает это правило вы можете перейти по адресу http://www.ruslany.net/2008/10/aspnet-postbacks-and-url-rewriting/ и убедиться, что “www” убрано из имени сайта.

4. Перенаправление на HTTPS

Когда происходит обращение к сайту по HTTP, который требует соединение через HTTPS по защищенному каналу, сервер IIS вернет ошибку с кодом HTTP 403 (Unauthorized). Вы можете надеяться, что ваши посетители всегда будут вводить https в строку адреса. Однако, если вы хотите чтобы ваш сайт был более простым в посещении и более дружелюбным вы можете перенаправлять посетителей на правильный адрес, вместо того, чтобы сообщать им об ошибке. Типичный пример сайт http://www.paypal.com, если вы перейдете по этому адресу, то увидите, что ваш браузер перенаправил вас на https://www.paypal.com.

С помощью URL Rewrite Module вы можете легко решить эту задачу:

5. Возврат кода HTTP 503

Код возврата со статусом HTTP 503 означают, что сервер не может обработать запрос в данный момент в связи с проведением технических работ. Этот код говорит о том, что сайт не работает временно, так что поисковые системы получив этот код не будут индексировать сайт, а вернуться к нему позднее. Когда вы останавливаете пул приложения в IIS, сервер будет автоматически возвращать на все запросы ответ со статусом HTTP 503. Но что если вам не нужно останавливать весь сайт и вы хотите провести технические работы только в одном из разделов?

С помощью URL Rewrite Module вы можете создать правило, которое решает эту задачу:

6. Предотвращение сторонних ссылок на изображения сайта (Image Hotlinking)

Сторонние ссылки на изображения сайта (Image Hotlinking) – это использование изображений с вашего сайта для отображения их на других ресурсах в интернете. Такое неконтролируемое использование изображений увеличивает нагрузку на канал передачи данных для вашего сайта. Кроме того, существуют другие проблемы с подобным использованием, например, права на копирование изображений.

С помощью URL Rewrite Module вы можете легко предотвратить несанкционированное использование изображений с вашего сайта:

Это правило будет перенаправлять все запросы со сторонних сайтов на специальное изображение расположенное по адресу /images/say_no_to_hotlinking.jpg.

7. Обратный прокси для другого сайта или сервера

Используя URL Rewrite Module вместе с Application Request Routing вы можете заставить работать IIS в режиме обратного прокси-сервера. Например, в можете захотеть опубликовать содержимое ресурса из локальной сети в интернет. Для того, чтобы это осуществить необходимо проделать несколько шагов:

  1. Убедитесь, что переключатель Enable proxy включен в функции Application Request Routing в IIS Manager;
  2. Добавьте следующее правило на сайт, который будет являться прокси-сервером и будет принимать запросы:

Обратите внимание на префикс “http://” в правиле. Употребление этого префикса говорит системе URL Rewrite о необходимости использовать механизм прокси вместо перезаписи адреса. Когда Rewrite-правило содержит URL с префиксом протокола, то URL Rewrite Module не осуществляет стандартную логику по перезаписыванию URL. Вместо этого, запрос будет перенаправлен в модуль Application Request Routing, который в свою очередь осуществит прокси-запрос на адрес указанный в правиле.

8. Обратный прокси и HTTPS

Правило в предыдущем совете всегда использует незащищенное соединение по HTTP. Однако часто необходимо сохранить возможность запросов по протоколу HTTPS. Это может быть достигнуто следующим правилом:

9. Перезапись или перенаправление на основе параметров запроса

Следующее правило демонстрирует как два различных параметра запроса извлекаются из строки и используются в перезаписи URL:

Согласно этому правилу запрос с параметрами page.asp?p2=321&p1=123 будет перезаписан как newpage.aspx?param1=123&param2=321.

10. Как избежать перезаписи запросов для ресурсов ASP.NET

Приложения на основе ASP.NET часто создают запросы к файлу WebResources.axd для получения разных ресурсов. Однако такого файла на сервере не существует и все запросы к нему в ASP.NET обрабатываются динамически. Поэтому некоторые правила перезаписи адресов могут порушить приложение, перезаписав запрос к WebResources.axd.

Эта проблема может быть легко решена на основе простого добавления еще одного условия в правило:

IIS 7: Перенаправление всех запрос на Default.aspx

December 2020

7.8k раз

Мы хотим, чтобы перенаправить весь запрос в качестве сайта ASP.NET в

/ Default.aspx закрыть сайт. Мы используем IIS7. На сайте есть пути, как это, возвращающие страницу:

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

Мы бы нормально использовать что-то вроде этого в web.config:

Проблема в том, что она не будет перенаправлять папки URL, как это

4 ответы

Я хотел бы написать что-то вроде этого в Global.asax (заметьте, это просто пример, не готовый к производству код):

Также считаю, что этот код будет нарушать non-ASP.NET запросов, когда приложение работает в интегрированном режиме (в другом он будет перенаправлять запросы даже для изображений и таких).

Вы можете поместить файл с именем App_Offline.htm в корне любого приложения ASP.NET. В результате принятия запроса ЛЮБОЙ .NET страницы и выводит содержимое файла HTM вместо запрашиваемой страницы. Это на самом деле не редирект, но это очень простой способ взять весь сайт вниз. Если вам нужно, вы также можете использовать стандартный метатекли отправить любой запрашиваемый на новое место (только не помню , чтобы сделать так , чтобы файл ASPX на том же сайте).

Вы могли бы это сделать, если файлы не существуют больше.

Вы пробовали HttpRedirect ? Вы должны установить функцию первого же.

Илон Маск рекомендует:  EndOfAMonth - Функция Delphi
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL
Имя элемента Описание