Integração Apache / Glassfish

1

Atualmente, tenho um servidor glassfish 3.1 e um servidor apache 2.2 em execução em uma única caixa. No entanto, eu estou tentando descobrir a rota de algum tráfego através do servidor apache para o servidor glassfish, a fim de ocultar as portas não-padrão 8080,8181. Eu também tenho conteúdo estático sendo servido no servidor apache. Eu fiz algumas pesquisas e li vários exemplos que falam sobre como fazer isso, no entanto eu sou realmente novo para o apache e não estou entendendo o material virtualhost e mod_proxy. Qualquer ajuda para entender isso e como realizar o que estou tentando fazer seria ótimo.

EDITAR

Por exemplo, Shane tentei o seguinte.

<VirtualHost *:80>
    ServerName forum.mydomain.com
    # any logging config, etc, that you need
    ProxyPass / http://127.0.0.1:8080/forum/
    ProxyPassReverse / http://127.0.0.1:8080/forum/
</VirtualHost>

Mas agora todo o meu tráfego vai para o link e, por algum motivo, todas as imagens estão faltando. Então deixe-me explicar melhor o meu cenário. Eu tenho um servidor apache que serve páginas estáticas, essas páginas são acessadas de mydomain.com. Do que eu tenho um fórum que funciona como um aplicativo da web no meu servidor glassfish e eles são servidos em mydomain.com:8080/forum/ o que eu gostaria de fazer é ter forum.mydomain.com ir para o mydomain.com:8080/ forum / mas esconder a porta 8080 do usuário. Deixe-me saber o que você pensa.

EDIT PART 2

Então, desde que minha última tentativa não funcionou, decidi tentar outro desvio dos exemplos de Shane, então tentei o seguinte.

 <VirtualHost *:80>
    ServerName mydomain.com
    ServerAlias subdomain.mydomain.com
    DocumentRoot "/usr/local/apache/htdocs"

    <Location /forum>
       ProxyPass http://127.0.0.1:8080/forum/
       ProxyPassReverse http://127.0.0.1:8080/forum/
    </Location>
</VirtualHost>

Mas isso também não funcionou, agora se eu clicar em mydomain.com, ele me leva para mydomain.com//forums/list.page, mas é um erro 404 (acho que isso é estranho porque obviamente chegou ao glassfish servidor porque foi reencaminhado para o list.page). No entanto, se eu for para subdomínio.meudominio.com, ele me levará às minhas páginas da Web estáticas normais. Eu sinto que tenho que estar perto, mas não tenho certeza do que está errado. Neste exemplo, esperava que mydomain.com e subdomain.mydomain.com me levassem às minhas páginas estáticas, e mydomain.com/forum/ me levaria ao meu aplicativo do fórum no glassfish.

EDIT Parte 3 Final?

Então eu finalmente consegui o roteamento como eu queria, mas por algum motivo o fórum está perdendo todas as suas imagens. Eu acabei fazendo isso com o seguinte.

NameVirtualHost *:80

<VirtualHost *:80>
    ServerName www.mydomain.com
    ServerAlias subdomain.mydomain.com mydomain.com
    DocumentRoot "/usr/local/apache/htdocs"

</VirtualHost>


<VirtualHost *:80>
    ServerName forum.mydomain.com
    # any logging config, etc, that you need
    ProxyPass / http://127.0.0.1:8080/forum/
    ProxyPassReverse / http://127.0.0.1:8080/forum/
</VirtualHost>

Agora só preciso descobrir o problema da imagem. . .

    
por EpicOfChaos 15.01.2012 / 02:14

1 resposta

1

Basicamente, as diretivas ProxyPass podem servir solicitações para um local com conteúdo de um servidor HTTP (ou AJP) diferente.

Veja um exemplo de configuração com comentários que podem ajudar a esclarecer:

# We'll call this your existing vhost:
<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /path/to/www/
    # other existing config
    # Let's say you want to serve http://example.com/glassfishapp from the 8080 listener:
    <Location /glassfishapp>
        ProxyPass http://127.0.0.1:8080
        ProxyPassReverse http://127.0.0.1:8080
    </Location>
</VirtualHost>

# Now, let's say there's a whole domain you want to serve from the 8181 listener:
<VirtualHost *:80>
    ServerName glass.example.com
    # any logging config, etc, that you need
    ProxyPass / http://127.0.0.1:8181/
    ProxyPassReverse / http://127.0.0.1:8181/
</VirtualHost>
    
por 15.01.2012 / 02:34