Перенаправление на другой сервер с использованием обратного прокси-сервера apache virtual-Host

У меня есть сервер, работающий на Ubuntu. Я могу получить доступ к этому серверу через обратный прокси-сервер с Apache. Теперь приходит то, чем я хочу заниматься. Я хочу перенаправить на другой сервер (не тот же компьютер) при запросе этих uris:

  • /osimis-viewer/app/index.html?study= {ID}
  • /osimis-viewer/app/index.html ? series = {ID}
  • /web-viewer/app/viewer.html?series= {ID}

Uri должен быть таким же, поэтому, если я запрашиваю localhost / osimis-viewer / app / index.html? study = {ID} Я должен быть перенаправлен на new-ip / osimis-viewer / app / index.html? study = {ID}
Я пытаюсь сделать это через mod_rewrite , но я не могу заставить его работать.
Я могу получить доступ к этому серверу через обратный прокси-сервер с Apache. Теперь пришло то, чем я хочу заняться. Я хочу перенаправить на другой сервер (не тот же компьютер) при запросе этих uris:

  • /osimis-viewer/app/index.html?study= {ID}
  • /osimis-viewer/app/index.html ? series = {ID}
  • /web-viewer/app/viewer.html?series= {ID}

Uri должен быть таким же, поэтому, если я запрашиваю localhost / osimis-viewer / app / index.html? study = {ID} Я должен быть перенаправлен на new-ip / osimis-viewer / app / index.html? study = {ID}
Я пытаюсь сделать это через mod_rewrite , но я не могу заставить его работать.
Я могу получить доступ к этому серверу через обратный прокси-сервер с Apache. Теперь приходит то, чем я хочу заниматься. Я хочу перенаправить на другой сервер (не тот же компьютер) при запросе этих uris:

  • /osimis-viewer/app/index.html?study= {ID}
  • /osimis-viewer/app/index.html ? series = {ID}
  • /web-viewer/app/viewer.html?series= {ID}

Uri должен быть таким же, поэтому, если я запрашиваю localhost / osimis-viewer / app / index.html? study = {ID} Я должен быть перенаправлен на new-ip / osimis-viewer / app / index.html? study = {ID}
Я пытаюсь сделать это через mod_rewrite , но я не могу заставить его работать.
Приветствуется некоторая помощь.

Конфигурационный файл для сайтов с поддержкой выглядит примерно так:

<VirtualHost *:80>
    ProcyRequests Off
    ProxyPass "/" "http://localhost:8042/"
    ProxyPassReverse "/" "http://localhost:8042/"
    ErrorLog /var/log/apache2/orthanc-error.log
    CustomLog /var/log/apache2/orthanc-access.log combined
    LogLevel error
    // Some tries with RewriteRule
</VirtualHost>
0
задан 3 July 2018 в 19:51
2 ответа

Проблема, вероятно, в том, что вы добавили дополнительные настройки обратного прокси после более всеобъемлющей директивы ProxyPass "/" , и поэтому они никогда не применялись. Правила ProxyPass проверяются в порядке настройки. Первое подходящее правило побеждает, поэтому попробуйте:

Попробуйте:

<VirtualHost *:80>
  ProxyRequests Off

  ProxyPass "/osimis-viewer/app/index.html" "http://new-ip/osimis-viewer/app/index.html" 
  ProxyPassReverse "/osimis-viewer/app/index.html" "http://new-ip/osimis-viewer/app/index.html"  

  ProxyPass "/" "http://localhost:8042/"
  ProxyPassReverse "/" "http://localhost:8042/"

  ErrorLog /var/log/apache2/orthanc-error.log
  CustomLog /var/log/apache2/orthanc-access.log combined
  LogLevel error
</VirtualHost>
0
ответ дан 5 December 2019 в 06:01

Нашел способ заставить его работать, по крайней мере, на данный момент. Теперь это конфигурация:

<VirtualHost *:80>
  ProxyRequests Off

  RewriteEngine on
  RewriteCond %{QUERY_STRING} series [OR]
  RewriteCond %{QUERY_STRING} study
  Rewriterule "^/osimis-viewer/app/index.html" "http://10.8.0.11:8042/osimis-vi$
  Rewriterule "^/web-viewer/app/viewer.html" "http://10.8.0.11:8042/web-viewer/$

  ProxyPass "/" "http://localhost:8042/"
  ProxyPassReverse "/" "http://localhost:8042/"

  ErrorLog /var/log/apache2/orthanc-error.log
  CustomLog /var/log/apache2/orthanc-access.log combined
  LogLevel error
</VirtualHost>
0
ответ дан 5 December 2019 в 06:01

Теги

Похожие вопросы