Hoi,
Op een raspberry pi draai ik apache op raspbian. Deze fungeert deels als reverse proxy voor interne servers (bereikbaar via https op een subdomeinnaam), en ook direct als webserver (https, het hoofddomein).
Het hoofddomein draait een soort familie-intranetje, en voor het gemak probeer ik ook de subdomeinen in een iframe te tonen. Denk hierbij aan de unifi-controller, de plex server en diverse andere interfaces.Ik zou de look en feel graag wat harmonieren, dus ik probeer vanuit mijn intranet de iframes wat te stijlen. Dan loop je uiteraard tegen CORS aan. Volgens mij moet ik vanuit apache de headers van mijn ge-reverse-proxy-de subdomeinen ook wel kunnen meesturen.
Ik wil dat zowel het hoofddomein (op de server zelf) als de subdomeinen (bereikbaar via reverse proxy) allemaal met elkaar mogen praten. Hierbij zijn mij een aantal punten onduidelijk:
1. Moet ik op alle domeinen (dus zowel hoofd- als sub-) iets aanpassen? Of alleen in de sub?
2. Waar moet ik de aanpassing maken? In de .conf file in sites-enabled? Of in een andere config file?
3. Wat moet ik precies aanpassen om het werkend te krijgen?
Wat ik al gedaan heb:
- Ingelezen over CORS
- Deze post op SO gevonden over de juiste headers voor CORS indien je alle subdomeinen wil toestaan. De commentaren gevenb mij niet helemaal het vertrouwen en de duidelijkheid die ik nodig heb om het toe te passen (oa een aantal commentaren dat de oplossing niet werkt)
- In de .conf van het subdomein toegevoegd:
Helaas heb ik slechte ervaringen met teveel pielen aan mijn apache configuratie om zomaar in het blind dingen te gaan uitproberen, dus ik hoop dat iemand hier mij kan helpen.
subdomein conf (in dit geval voor plex server):
En config van het hoofddomein
Alvast bedankt!
Op een raspberry pi draai ik apache op raspbian. Deze fungeert deels als reverse proxy voor interne servers (bereikbaar via https op een subdomeinnaam), en ook direct als webserver (https, het hoofddomein).
Het hoofddomein draait een soort familie-intranetje, en voor het gemak probeer ik ook de subdomeinen in een iframe te tonen. Denk hierbij aan de unifi-controller, de plex server en diverse andere interfaces.Ik zou de look en feel graag wat harmonieren, dus ik probeer vanuit mijn intranet de iframes wat te stijlen. Dan loop je uiteraard tegen CORS aan. Volgens mij moet ik vanuit apache de headers van mijn ge-reverse-proxy-de subdomeinen ook wel kunnen meesturen.
Ik wil dat zowel het hoofddomein (op de server zelf) als de subdomeinen (bereikbaar via reverse proxy) allemaal met elkaar mogen praten. Hierbij zijn mij een aantal punten onduidelijk:
1. Moet ik op alle domeinen (dus zowel hoofd- als sub-) iets aanpassen? Of alleen in de sub?
2. Waar moet ik de aanpassing maken? In de .conf file in sites-enabled? Of in een andere config file?
3. Wat moet ik precies aanpassen om het werkend te krijgen?
Wat ik al gedaan heb:
- Ingelezen over CORS
- Deze post op SO gevonden over de juiste headers voor CORS indien je alle subdomeinen wil toestaan. De commentaren gevenb mij niet helemaal het vertrouwen en de duidelijkheid die ik nodig heb om het toe te passen (oa een aantal commentaren dat de oplossing niet werkt)
- In de .conf van het subdomein toegevoegd:
code:
, zoals hier gesuggereerd. Dit werkt niet volgens mij wordt de header ook niet meegestuurd (als ik de headers bekijk van de index.html die vanuit plex in mijn iframe wordt getoond)1
| Header add Access-Control-Allow-Origin "*" |
Helaas heb ik slechte ervaringen met teveel pielen aan mijn apache configuratie om zomaar in het blind dingen te gaan uitproberen, dus ik hoop dat iemand hier mij kan helpen.
subdomein conf (in dit geval voor plex server):
code:
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
| <VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName sub.domein.nl
<Proxy *>
Order Deny,Allow
Deny from all
Allow from 192.168
</Proxy>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =sub.domein.nl
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
ProxyAddHeaders off
Header set Host sub.domein.nl
RequestHeader set Host 192.168.1.3
Header unset Referer
RequestHeader unset Referer
Header unset Origin
RequestHeader unset Origin
ProxyPass / https://192.168.1.3:32400/
ProxyPassReverse / https://192.168.1.3:32400/
ServerAdmin admin@site.com
ServerName sub.domein.nl
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Proxy *>
Order Deny,Allow
Deny from all
Allow from 192.168
</Proxy>
Include /etc/letsencrypt/options-ssl-apache.conf
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/web
RewriteCond %{HTTP:X-Plex-Device} ^$
RewriteRule ^/$ /web/$1 [R,L]
SSLCertificateFile /etc/letsencrypt/live/blabla/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/blabla/privkey.pem
</VirtualHost>
</IfModule> |
En config van het hoofddomein
code:
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
| <VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName domein.nl
ServerAlias www.domein.nl
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.domein.nl [OR]
RewriteCond %{SERVER_NAME} =domein.nl
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin admin@domein.nl
ServerName domein.nl
ServerAlias www.domein.nl
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Protocols h2 http/1.1
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/lalala/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/lalalala/privkey.pem
</VirtualHost>
</IfModule> |
Alvast bedankt!