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

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

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

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>

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

<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>

Проблема, вероятно, в том, что вы добавили дополнительные настройки обратного прокси после более инклюзивного 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>