solr proxy reverso Apache2

4

Estou tentando configurar o Apache2 como Proxy Reverso para o solr. Apache e Solr estão na mesma máquina. O Apache também está servindo outras coisas como um servidor web regular.

arquivo de configuração solsearch em /etc/apache2/config.d/

# Proxy specific settings
ProxyRequests Off
ProxyPreserveHost Off

<Proxy *>
    AddDefaultCharset off
    Order deny,allow
    Allow from all
</Proxy>

ProxyPass /solrsearch http://localhost:8983/solr/collection1/browse
ProxyPassReverse /solrsearch http://localhost:8983/solr/collection1/browse

Agora, tentando link me dá a primeira página de link , mas com layout quebrado (como css ausente).

Resultado: error.log do apache:

File does not exist: /var/www/solr, referer: [http://192.168.1.150/solrsearch]
    
por Steven 18.10.2013 / 16:46

2 respostas

4

Os links da página de conteúdo HTML para o CSS e outros arquivos são provavelmente caminhos absolutos - então eles estão vinculados a /solr/path/to/css em vez de path/to/css .

Você deve conseguir resolver isso adicionando outro ProxyPass :

ProxyPass /solrsearch http://localhost:8983/solr/collection1/browse
ProxyPassReverse /solrsearch http://localhost:8983/solr/collection1/browse
ProxyPass /solr http://localhost:8983/solr

Mas, você deve ter cuidado para não expor mais conteúdo do que deseja expor, se este for um servidor publicamente disponível.

    
por 19.10.2013 / 20:30
3

apenas para marcar aqui. A seguinte configuração de proxy permite que o navegador Solr padrão opere (com CSS, javascript, etc) sem , dando acesso às funções administrativas:

<IfModule mod_proxy.c>
    # Proxy specific settings
    ProxyRequests Off

    <Proxy *>
        AddDefaultCharset off
        Order deny,allow
        Allow from all
    </Proxy>

    # permit:
    #  * queries
    #  * javascript
    #  * css
    #  * term vectors
    # restrict:
    #  * all other traffic (admin, etc)

    ProxyPassMatch "/solr/(.*/browse)" http://localhost:8983/solr/$1
    ProxyPassMatch "/solr/(.*/terms)" http://localhost:8983/solr/$1
    ProxyPassMatch "/solr/(.*/admin/file)" http://localhost:8983/solr/$1
    ProxyPass /solr/js http://localhost:8983/solr/js
    ProxyPassReverse /solr http://localhost:8983/solr
</IfModule>

Isso está funcionando no meu sistema Solr 6.1.0.

    
por 02.12.2016 / 19:48