Перезаписать контент, обслуживаемый apache

У меня есть внутреннее приложение (Jira), которое я хочу использовать внутри и снаружи, теперь может быть другой способ сделать это, и в этом случае я открыт для него, но это то, что у меня есть до сих пор:

URL one: https://domainname.com/jira  - external domain name for it
URL two: https://domainname.local/jira - internal network name for it.

Я запускаю Apache в качестве обратного прокси, и у меня есть это:

<Location /jira>
    ProxyPass http://127.0.0.1:8080/jira
    ProxyPassReverse http://127.0.0.1:8080/jira
</Location>

Jira создает все свои ссылки, используя базовый URL-адрес, который в данном случае имеет значение 'https://domainname.local/jira ', поэтому очевидно, что когда страницы передаются внешнему миру, на них есть .local.

Вопрос в том, есть ли способ перезаписать контент по мере его обслуживания, чтобы изменить адреса .local в HTML на .com?

Есть ли более простой способ решить эту проблему?

Приветствую за любую помощь ....

Энди


person Andy    schedule 23.03.2010    source источник
comment
не совсем уверен, что понимаю вашу проблему ... почему вы не можете просто подключиться к domainname.com/jira из внутренней сети?   -  person rytis    schedule 24.03.2010
comment
Черт побери, см. Мой ответ на stackoverflow.com/questions/956361/.   -  person Robert Munteanu    schedule 24.03.2010
comment
На самом деле не обман. Jira содержит в себе базовый URL, в данном случае domainname.local / jira. Это используется для создания всех URL-адресов. Таким образом, независимо от того, где он предполагает, что он размещает его, у него будут эти базовые URL-адреса. Мне нужно переписать содержимое или переписать Jira, чтобы учесть имя сервера, с которого он передается.   -  person Andy    schedule 24.03.2010


Ответы (3)


Как насчет того, чтобы дать JIRA уникальный URL-адрес? Вашим пользователям это может понравиться!

Мы используем это с CNames, Apache VirtualHosts, mod_jk to jira standalone edition и обратными прокси.

ПРИВЕТ!

person Community    schedule 24.03.2010

Моя jira работает на local: 84, и это настройка для доступа к нему как jira.yourdomain.com:

#Jira
<VirtualHost *:80>
ServerName jira.yourdomain.com
ServerAlias jira.yourdomain.com

#jirafast?
ExpiresActive On
ExpiresDefault "access plus 300 seconds"
    ExpiresByType text/html "access plus 1 day"
    ExpiresByType text/css "access plus 1 day"
    ExpiresByType text/javascript "access plus 1 day"
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/jpg "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
#jirafast? -


ProxyPreserveHost On
ProxyPass / http://localhost:84/
ProxyPassReverse / http://localhost:84/
<Proxy http://localhost:84/>
#  Order Allow,Deny
#  Allow from all
   Order Deny,Allow
   Allow from 127.0.0.1
</Proxy>
</VirtualHost>

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

person Mark Robbins    schedule 29.12.2011

Jira создаст URL-адреса на основе URL-адреса, используемого для доступа к серверу. В вашем случае mod_proxy использует URL-адрес прокси для подключения.

У вас есть прокси-серверы обоих доменов на локальный компьютер, что кажется ненужным, учитывая, что один и тот же веб-сервер обслуживает оба домена. Если можете, я бы вырезал посредника Apache и настроил оба домена так, чтобы они указывали непосредственно на Jira.

Однако, если вы включите ProxyPreserveHost On в свою конфигурацию, он сохранит имя хоста до сервера.

person Mark McDonald    schedule 30.12.2011