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!