Назад | Перейти на главную страницу

механизм перезаписи: как проверить, доступен ли URL на другом сервере?

Я пытаюсь использовать механизм перезаписи nginx для перенаправления запросов.
На той же машине у меня есть Jetty, работающий на порту 8080, который доставляет некоторый контент.

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

location /nexus/ {
    rewrite ^/nexus/(.*)$ http://A:8080/nexus/$1 permanent;
}

location ~* "^/releases/([a-z]*)/(.*)$" {
    try_files /nexus/content/repositories nexus/content/repositories /nexus/content/;
    # rewrite ^/releases/test/(.*)$ http://A:8080/nexus/content/repositories/Test/$2 break;
}

Моя идея состояла в том, чтобы использовать try_files, но первыми параметрами должны быть файлы или каталоги.
Есть ли другой способ проверить, доступен ли URL-адрес?

На данный момент я использую Nginx для проверки доступности URL-адреса, возможно, мне лучше использовать Jetty, который находится перед Nexus.
Nginx был просто выбором, и если есть возможности получше, я готов перейти на него. :)

Вот некоторые подробности об окружающей среде:

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

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