AgentDVR lässt sich so konfigurieren, dass es auch ohne kommerzielle Lizenz über das Internet erreichbar ist. Dabei wird Apache2 als Reverse Proxy eingesetzt. Der Proxy leitet externe Anfragen intern an AgentDVR weiter, sodass die Software den Zugriff als „lokal“ einstuft und keine Lizenzbeschränkung greift. Des weiteren ist ist eine Portweiterleitung für verscheidne dienste zum AgendDVR Host nötig.
Voraussetzungen
- AgentDVR ist lokal installiert und läuft unter
http://localhost:8090
- Apache2 ist installiert
- Eine Domain oder DynDNS-Adresse für AgendDVR WAN Verbimdung (z. B.
your-domain.com
) - Portweiterleitung auf AgentDVR Host für Webinterface TCP (Port 8090)
- Portweiterleitung auf AgentDVR Host für STUN Server TCP (Port 3478)
- Portweiterleitung auf AgentDVR Host für Web-RTC Videostreams TCP/UDP (Port 50000-501000)
*Bei fehlender oder fehlerhafter Portweiterleitung des STUN Ports erscheint die Meldung „No local ICE“ oder „Benutzen sie einen anderen Browser“ nach dem Login auf dem AgentDVR Host.
1. Apache2 installieren (falls noch nicht vorhanden)
1 2 | sudo apt update sudo apt install apache2 |
2. Benötigte Apache-Module aktivieren
1 2 3 4 | sudo a2enmod proxy sudo a2enmod proxy_http sudo a2enmod headers sudo a2enmod ssl |
Apache neu laden:
1 | sudo systemctl reload apache2 |
3. Reverse-Proxy für AgentDVR einrichten
Datei erstellen:
1 | sudo nano /etc/apache2/sites-available/agentdvr.conf |
Inhalt (your-domain.com durch eigene Domain ersetzen, bei SSL Zugriff, SSL Dateien erstellen bzw. von Webserver kopieren):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | <VirtualHost *:80> ServerName your-domain.com ProxyPreserveHost On # WebSocket-Unterstützung (Agent DVR) ProxyPass /ws http://127.0.0.1:8090/ws ProxyPassReverse /ws http://127.0.0.1:8090/ws # Restlicher HTTP-Verkehr ProxyPass / http://127.0.0.1:8090/ ProxyPassReverse / http://127.0.0.1:8090/ RequestHeader set X-Forwarded-Proto "http" RequestHeader set X-Forwarded-Port "80" ErrorLog ${APACHE_LOG_DIR}/agentdvr_error.log CustomLog ${APACHE_LOG_DIR}/agentdvr_access.log combined </VirtualHost> #<VirtualHost *:443> # ServerName your-domain.com # # SSLEngine on # SSLCertificateFile /etc/letsencrypt/live/your-domain.com/fullchain.pem # SSLCertificateKeyFile /etc/letsencrypt/live/your-domain.com/privkey.pem # # ProxyPreserveHost On # ProxyPass / http://127.0.0.1:8090/ # ProxyPassReverse / http://127.0.0.1:8090/ # RequestHeader set X-Forwarded-Proto https # RequestHeader set X-Forwarded-Port 443 # ErrorLog ${APACHE_LOG_DIR}/agentdvr_ssl_error.log # CustomLog ${APACHE_LOG_DIR}/agentdvr_ssl_access.log combined #</VirtualHost> |
Datei speichern und schließen. HTTPS Anfragen werden bei fehlender AgentDVR Lizenz durch AgentDVR selbst blockiert.
4. Konfiguration aktivieren
1 2 | sudo a2ensite agentdvr.conf sudo systemctl reload apache2 |
5. (Optional) Apache-Standardseite deaktivieren
1 2 | sudo a2dissite 000-default.conf sudo systemctl reload apache2 |
by Speefak | chatGPT