Попробуйте настроить jitsi за обратным прокси-сервером apache2 - PullRequest
0 голосов
/ 19 июня 2020

Я использую виртуальную машину ubuntu 18.04 linux в качестве обратного прокси-сервера для пересылки поддоменов https внутренним целям, например, guacamole.mydomain.com и jitsi.mydomain.com. Каждая система представляет собой отдельную linux виртуальную машину.

publi c ip -> обратный веб-прокси 192.168.2.10 -> guacamole.mydomain.com 192.168.2.20 и jitsi.mydomain.com 192.168.2.30

гуакамоле работает, как ожидалось, но я столкнулся с некоторыми проблемами с переходом https на jitsi.mydomain.com. Все остальные порты напрямую перенаправляются в jitsi без прокси.

Я создал два файла conf в / etc / apache2 / sites-enabled один для jitsi и один для гуакамоле и сгенерировал позволяет шифровать cert с помощью certbot - apache.

Когда я пытаюсь открыть jits.mydomain.com извне, я получаю следующую ошибку: ERR_TOO_MANY_REDIRECTS.

В пределах сеть jitsi доступна через https, так что я пропустил?

к сожалению, я не очень хорошо знаком с прокси и apache.

заранее спасибо, ребята.

jitsi.conf

<VirtualHost *:80>
 ServerName jitsi.mydomain.com
 ProxyPreserveHost On
 DocumentRoot /var/www/html
 ProxyPass /.well-known !
 ProxyPass / http://192.168.2.30:80/
 ProxyPassReverse / http://192.168.2.30:80/
RewriteEngine on
RewriteCond %{SERVER_NAME} =jitsi.mydomain.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

jitsi-le-ssl.conf

<IfModule mod_ssl.c>
<VirtualHost *:443>
 ServerName jitsi.mydomain.com
 ProxyPreserveHost On
 DocumentRoot /var/www/html
 ProxyPass /.well-known !
 ProxyPass / http://192.168.2.30:80/
 ProxyPassReverse / http://192.168.2.30:80/
SSLCertificateFile /etc/letsencrypt/live/jitsi.mydomain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/jitsi.mydomain.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>

guacamole.conf

<VirtualHost *:80>
 ServerName guacamole.mydomain.com
 ProxyPreserveHost On
 DocumentRoot /var/www/html
 ProxyPass /.well-known !
 <Location />
     Order allow,deny
     Allow from all
     ProxyPass http://192.168.2.20:8080/guacamole/ flushpackets=on
     ProxyPassReverse http://192.168.2.20:8080/guacamole/
     ProxyPassReverseCookiePath /guacamole /
 </Location>
 <Location /websocket-tunnel>
     Order allow,deny
     Allow from all
     ProxyPass ws://192.168.2.20:8080/guacamole/websocket-tunnel
     ProxyPassReverse ws://192.168.2.20:8080/guacamole/websocket-tunnel
 </Location>
 SetEnvIf Request_URI "^/tunnel" dontlog
 CustomLog  /var/log/apache2/guac.log common env=!dontlog
RewriteEngine on
RewriteCond %{SERVER_NAME} =guacamole.mydomain.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

guacamole-le-ssl.conf

<IfModule mod_ssl.c>
<VirtualHost *:443>
 ServerName guacamole.mydomain.com
 ProxyPreserveHost On
 DocumentRoot /var/www/html
 ProxyPass /.well-known !
 <Location />
     Order allow,deny
     Allow from all
     ProxyPass http://192.168.2.20:8080/guacamole/ flushpackets=on
     ProxyPassReverse http://192.168.2.20:8080/guacamole/
     ProxyPassReverseCookiePath /guacamole /
 </Location>
 <Location /websocket-tunnel>
     Order allow,deny
     Allow from all
     ProxyPass ws://192.168.2.20:8080/guacamole/websocket-tunnel
     ProxyPassReverse ws://192.168.2.20:8080/guacamole/websocket-tunnel
 </Location>
 SetEnvIf Request_URI "^/tunnel" dontlog
 CustomLog  /var/log/apache2/guac.log common env=!dontlog

SSLCertificateFile /etc/letsencrypt/live/guacamole.mydomain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/guacamole.mydomain.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>
...