Apache2 и Solr с SSL с использованием Proxypass - PullRequest
1 голос
/ 04 июля 2019

Я пытаюсь настроить поддомен на моих Apache2 vhosts, который будет отвечать на запросы solr на порту 443.

Я установил свой solr 8.1.1, и он может быть повторно подключен к моему ip на порту 8984, теперь мне нужно, чтобы он был доступен как https://solr.mydomain.org,, поэтому я попытался настроить vhost так:

<VirtualHost *:80>
ServerName solr.mydomain.org
Redirect permanent /secure https://solr.mydomain.org
</VirtualHost>
<VirtualHost *:443>
    ServerName solr.mydomain.org
    ErrorLog /var/log/apache2/error.solr.log
<Proxy *>
    Order deny,allow
    Allow from all
</Proxy>
    SSLEngine on
    SSLProxyEngine on
            SSLCertificateFile /etc/apache2/ssl/ca.crt
            SSLCertificateKeyFile /etc/apache2/ssl/ca.key
    ProxyPass / http://localhost:8984/
    ProxyPassReverse / http://localhost:8984/
 </VirtualHost>

после того, как я нашел этот ответ (и примечания) и другие интерактивные руководства.

Я также установил все предложенные моды здесь . Я удалил строки

ProxyRequests           Off
ProxyPreserveHost       On

после проверки их безуспешно после предположения, что они больше не нужны.

К сожалению, когда я пытаюсь получить доступ к solr.mydomain.org из Интернета, у меня истекает время ожидания. Может ли кто-нибудь указать мне правильное направление?

EDIT: Код работает почти правильно (без перенаправления с http на https), как только я исправил ошибку в файле хоста! Я не уверен, следует ли это убрать или это поможет.

РЕДАКТИРОВАТЬ 2: Исправлен код для перенаправления, теперь это действительно глупо для меня!

<VirtualHost *:80>
ServerName solr.mydomain.org
Redirect permanent / https://solr.mydomain.org
</VirtualHost>
<VirtualHost *:443>
    ServerName solr.mydomain.org
    ErrorLog /var/log/apache2/error.solr.log
<Proxy *>
    Order deny,allow
    Allow from all
</Proxy>
    SSLEngine on
    SSLProxyEngine on
            SSLCertificateFile /etc/apache2/ssl/ca.crt
            SSLCertificateKeyFile /etc/apache2/ssl/ca.key
    ProxyPass / http://localhost:8984/
    ProxyPassReverse / http://localhost:8984/
 </VirtualHost>
...