Hallo,
Ich habe bei mir momentan noch klassisch einen Apache mit VirtualHosts unter Linux laufen den ich durch WebStation oder Anwendungsportal der DSM ablösen will.
Der Apache erfüllt momentan folgende Aufgaben
In der Webstation ist das wohl generell nicht vorgesehen: Im Anwendungsportal können zwar Reverse Proxies definiert werden, nur ist es dort nicht machbar eine Location zu definieren oder eine Anmeldung über einen DSM Benutzer anzufordern (siehe auch hier).
Die Konfiguration der Reverse Proxy habe ich dann prinzipell auf dem Dateisystem gefunden:
Es kann hier keine Authentifizierung gemacht werden noch das SSL Zertifikat oder eine Location verwendet werden.
Ich habe auch schon versucht das über die WebStation zu machen. Beim Neustart der WebStation wird offensichtlich die Datei /usr/local/etc/httpd/sites-enabled/httpd-vhost.conf-user aus der Datei /usr/syno/etc/packages/WebStation/VirtualHost.json erzeugt.
Ich habe bei mir momentan noch klassisch einen Apache mit VirtualHosts unter Linux laufen den ich durch WebStation oder Anwendungsportal der DSM ablösen will.
Der Apache erfüllt momentan folgende Aufgaben
- Namensbasierter Virtueller Host
- SSL Verschlüsselung
- Benutzerauthentifizierung
- Location mit ProxyPass in die DMZ
HTML:
<VirtualHost *:443>
ServerName my.example.com:443
ServerAlias my.example.com:443
ProxyPreserveHost On
ProxyPass / http://192.168.199.24:8080/
ProxyPassReverse / http://192.168.199.24:8080/
SSLEngine On
SSLCertificateFile /etc/httpd/ssl/my.example.com.crt
SSLCertificateKeyFile /etc/httpd/ssl/my.example.com.key
<Location />
Deny from all
AuthType basic
AuthName "Anmeldung an my.example.com"
AuthUserFile /etc/httpd/conf.d/httpusers
Satisfy Any
</Location>
</VirtualHost>
<VirtualHost *:443>
ServerName app.example.com:443
ServerAlias app.example.com:443
ProxyPreserveHost On
ProxyPass /Esprit http://192.168.199.25:8080/app timeout=1200 KeepAlive=On
ProxyPassReverse /Esprit http://192.168.199.25:8080/app
SSLEngine On
SSLCertificateFile /etc/httpd/ssl/app.example.com.crt
SSLCertificateKeyFile /etc/httpd/ssl/app.example.com.key
</VirtualHost>
In der Webstation ist das wohl generell nicht vorgesehen: Im Anwendungsportal können zwar Reverse Proxies definiert werden, nur ist es dort nicht machbar eine Location zu definieren oder eine Anmeldung über einen DSM Benutzer anzufordern (siehe auch hier).
Die Konfiguration der Reverse Proxy habe ich dann prinzipell auf dem Dateisystem gefunden:
Rich (BBCode):
root@storage:/usr# cat /usr/syno/etc/www/ReverseProxy.json
{
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx":{
"backend":{
"fqdn":"192.168.199.24",
"port":8080,
"protocol":0
},
"description":"my.example.com",
"frontend":{
"fqdn":"my.example.com",
"https":{
"hsts":false,
"http2":false
},
"port":443,
"protocol":1
}
},
"version":1
}
Es kann hier keine Authentifizierung gemacht werden noch das SSL Zertifikat oder eine Location verwendet werden.
Ich habe auch schon versucht das über die WebStation zu machen. Beim Neustart der WebStation wird offensichtlich die Datei /usr/local/etc/httpd/sites-enabled/httpd-vhost.conf-user aus der Datei /usr/syno/etc/packages/WebStation/VirtualHost.json erzeugt.
HTML:
root@storage:/usr# cat syno/etc/packages/WebStation/VirtualHost.json
{
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" : {
"backend" : 1,
"fqdn" : "my.example.com",
"https" : {
"compatibility" : 1,
"compression" : false,
"hsts" : false,
"http2" : false,
"redirect" : false
},
"index" : [ "index.html", "index.htm", "index.cgi", "index.php", "index.php5" ],
"port" : {
"https" : [ 443 ]
},
"root" : "/volume1/web/my.example.com"
},
"version" : 2
}
root@storage:/usr# cat local/etc/httpd/sites-enabled/httpd-vhost.conf-user
<VirtualHost *:443>
ServerName my.example.com
SetEnv HOST my.example.com
DocumentRoot "/volume1/web/my.example.com"
<IfModule dir_module>
DirectoryIndex index.html index.htm index.cgi index.php index.php5
</IfModule>
<Directory "/volume1/web/my.example.com">
Options MultiViews FollowSymLinks ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
- Weiß jemand zufällig ob man dies ergänzen (ReverseProxy.json anpassen) kann oder allenfalls besser umsetzt?
- Wenn über die WebStation als Virtuelle Hosts, gibt es eine Anleitung wie man die /usr/syno/etc/packages/WebStation/VirtualHost.json mit den fehlenden Parametern (dauerhaft) ergänzen kann?