Synology-Forum.nl

Tweaks / Addons A.K.A. The Underground => Web Station mods => Topic gestart door: krism75 op 25 mei 2011, 08:29:42

Titel: Help met rewrite/redirect
Bericht door: krism75 op 25 mei 2011, 08:29:42
Ik zou graag via mijn syno DS211 een url rewrite (of evt. redirect) doen naar een externe url.
Ik heb een geregistreerd domain, dus wat ik precies wil is: router.mijndomain.be ==> https://andereurl:port (https://andereurl:port).

Bij voorkeur zou ik wel 'router.mijndomain.be' zichtbaar willen houden.

Hoe kan ik dit best aanpakken? Via een virtual host met een rewrite erin? Hoe moet ik die dan opstellen en in welke conf file moet dit dan?

Of evt. andere oplossing zijn ook welkom natuurlijk
Titel: Re: Help met rewrite/redirect
Bericht door: LukeVredeveld op 25 mei 2011, 18:06:52
bedoel je zoiets? (zie onderstaande URL en de uitwerking daarvan...)

http://files.lukevredeveld.nl (http://files.lukevredeveld.nl)
Titel: Re: Help met rewrite/redirect
Bericht door: krism75 op 25 mei 2011, 19:37:36
Inderdaad zoiets, maar eindpunt van de externe url is een andere site (niet gehost op de synology)
Titel: Re: Help met rewrite/redirect
Bericht door: LukeVredeveld op 25 mei 2011, 20:50:19
Ik heb het als volgt gedaan:

-zorg dat je hostingprovider een A-record aanmaakt dat router.mijndomein.be verwijst naar het IP-adres van http://www.mijndomein.be (http://www.mijndomein.be) (in dit geval waarschijnlijk het IP-adres van jouw internetaansluiting waarachter je Syno hangt). Beter (of in ieder geval handiger voor jou) is om je provider een wildcard te laten maken, dus een A-record met *.mijndomein.be zodat alles voor de .mijndomein.be verwijst naar jouw IP. Sommige hostingproviders doen dat standaard, andere niet standaard en weer andere doen het helemaal niet.

-open de admin van je syno en ga naar config scherm --> webservices --> virtuele host en maak een nieuwe host aan. Bij submap vul je mapnaam aan waar de bestanden komen te staan. In dit geval zou ik die map de naam router geven. (fysieke locatie dus iets van /volume1/web/router). Vul bij hostnaam router.mijndomein.be in, bij protocol HTTP en bij port 80 (tenzij je een andere poort gebruikt wat ik me niet kan voorstellen).

-in de map router op je webserver (/volume1/web/router) zet je een index.html-bestandje dat verwijst naar het juiste domein. Een voorbeeld:
<html>
<head>
<meta HTTP-EQUIV="REFRESH" content="0; url=https://andereurl:port">
</head>
</html>

of, als je wilt dat de bezoeker ziet dat hij doorgeleid wordt:
<html>
<head>

U wordt doorgeleid naar een andere website...

<meta HTTP-EQUIV="REFRESH" content="5; url=https://andereurl:port">
</head>
</html>
-daarna zou het moeten werken zoals jij wilt. Daarbij blijft echter router.mijndomein.nl niet meer zichtbaar. Moet vast kunnen, maar ik ben ook meer een hobby'ist, dus geen idee hoe dat moet. Misschien dat iemand anders je dat kan vertellen.

succes, ik hoor graag of het werkt!
Titel: Re: Help met rewrite/redirect
Bericht door: ronaldvh op 26 mei 2011, 13:26:27
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>router.mijndomain.be</title>
</head>
<frameset rows="*" cols="*" framespacing="0" frameborder="no" border="0">
  <frame src="http://anderesite.nl/index.html">
</frameset>
<noframes><body>
</body></noframes>
</html>

Volgens mij moet dit werken, maar dan moet je wel de index.hml (of default.html/php etc) invullen.
Titel: Re: Help met rewrite/redirect
Bericht door: Plerry op 27 mei 2011, 10:18:44
Het gebruik van frames is op zich een bruikbare manier om de inhoud van de adress-bar
"onder controle" te houden.
Maar, bij het (b)lijkt geen goede, generieke oplossing bij cross-domain gebruik,
omdat het kan afhangen van de security settings van de browser.
Bij IE staat bijv. de security setting "Access Data Sources Across Domains" default op Disabled.

Als simpel alternatief kan je eventueel een redirect naar "andere_url.be" gebruiken
(met een REFRESH META)en het gewenst zichtbare blijvende "router.mijndomain.be" opnemen
als Page Title in de header section van de html code op de "andere_url.be" site.
<head>
 ...
 <title>router.mijndomain.be</title>
 ...
</head>
Plerry
Titel: Re: Help met rewrite/redirect
Bericht door: ronaldvh op 31 mei 2011, 09:29:05
De grote vraag is eigenlijk waarom zou je dit willen doen.

als je een domein hebt met hosting dan kan je toch gewoon de A-records naar de juiste laten verwijzen...
Titel: Re: Help met rewrite/redirect
Bericht door: krism75 op 31 mei 2011, 10:37:36
De reden waarom ik dit wil is:
1) omdat ik dan makkelijk subdomainen kan redirecten naar evt andere sites
2) omdat niet van overal (lees: werk) alle poorten open staan

Ondertussen heb ik wel een oplossing werkende dankzij mod_proxy en redirects. Ik moet nog wel een aantal zaken testen en dan zal ik wel op volledige oplossing posten
Titel: Re: Help met rewrite/redirect
Bericht door: ronaldvh op 31 mei 2011, 11:22:44
Maar wil je dus eigenlijk je Syno als proxy (server) gebruiken.

Daadwerkelijk via de Syno op poort 80 naar iets andere op een "exotische" poort.


Wat ik hier lees is dat er meer zijn die zoiets hebben geprobeerd
viewtopic.php?f=42&t=1474 (http://www.synology-forum.nl/viewtopic.php?f=42&t=1474)
Titel: Re: Help met rewrite/redirect
Bericht door: krism75 op 31 mei 2011, 16:59:48
Heb het dus aan de praat gekregen:
in de conf-file: /usr/syno/apache/conf/extra/httpd-default.conf-user het volgende toevoegen:

LoadModule proxy_http_module modules/mod_proxy_http.so #om http en https te proxyen
<VirtualHost *:80>
ServerName router.mijndomein.be
ProxyRequests on
<Proxy *>
        Order deny,allow
        Allow from all
</Proxy>
ProxyPass / https://andereurl:port (https://andereurl:port)
ProxyPassReverse / https://andereurl:port (https://andereurl:port)
ProxyPreserveHost On #Dit zorgt dat de url in de navigation bar in IE, FF, ... onveranderd blijf ivm domein
ErrorLog /var/log/httpd.log #evt. logging opzetten
LogLevel error
</VirtualHost>

Voila, even een herstart van de apache: /usr/syno/etc.defaults/rc.d/S97apache-user.sh restart
Titel: Re: Help met rewrite/redirect
Bericht door: wizjos op 31 mei 2011, 20:41:24
Citaat van: "krism75"
Heb het dus aan de praat gekregen:
in de conf-file: /usr/syno/apache/conf/extra/httpd-default.conf-user het volgende toevoegen:

LoadModule proxy_http_module modules/mod_proxy_http.so #om http en https te proxyen
<VirtualHost *:80>
ServerName router.mijndomein.be
ProxyRequests on
<Proxy *>
        Order deny,allow
        Allow from all
</Proxy>
ProxyPass / https://andereurl:port (https://andereurl:port)
ProxyPassReverse / https://andereurl:port (https://andereurl:port)
ProxyPreserveHost On #Dit zorgt dat de url in de navigation bar in IE, FF, ... onveranderd blijf ivm domein
ErrorLog /var/log/httpd.log #evt. logging opzetten
LogLevel error
</VirtualHost>

Voila, even een herstart van de apache: /usr/syno/etc.defaults/rc.d/S97apache-user.sh restart
Mooi gedaan! Maar denk er wel om dat bij een firmware update dit fraais verloren gaat... Stel het voordien even veilig  :wink:

Wizjos
Titel: Re: Help met rewrite/redirect
Bericht door: ronaldvh op 01 juni 2011, 09:50:40
Hulde!
Titel: Re: Help met rewrite/redirect
Bericht door: Holy op 16 augustus 2011, 22:44:55
Hallo krism75,

Graag wil ik dit toepassen, echter nadat de wijzigingen zijn aangebracht en de apache een herstart commando heeft gekregen, krijg ik het volgende in beeld:
Citaat
DiskStation> /usr/syno/etc.defaults/rc.d/S97apache-user.sh restart
/usr/syno/etc.defaults/rc.d/S97apache-user.sh: user httpd stopped
Start User Apache Server .....
httpd: Syntax error on line 464 of /usr/syno/apache/conf/httpd.conf: Syntax error on line 77 of /usr/syno/apache/conf/extra/httpd-default.conf-user: LoadModule takes two arguments, a module name and the name of a shared object file to load it from
/usr/syno/etc.defaults/rc.d/S97apache-user.sh: user httpd could not be started


Regel 464 van /usr/syno/apache/conf/httpd.conf bestaat uit:
Citaat
Include conf/extra/httpd-default.conf-user
wat dus de verwijzing is naar de volgende regel hieronder:

Regel 77 van /usr/syno/apache/conf/extra/httpd-default.conf-user bestaat uit:
Citaat
LoadModule proxy_http_module modules/mod_proxy_http.so #om http en https te proxyen

wat dus de eerste regel van de toevoeging is.
Wat dien ik eventueel nog te wijzigen?
Titel: Re: Help met rewrite/redirect
Bericht door: w1ll8m op 23 oktober 2011, 13:12:00
Dit werkt zeker weten.

Benodigheden:
poort 443 geopend in je router (5001 kan zelfs dicht hoeft niet)

Op onderstaande manier kun je dus inloggen op je NAS zonder poortnummer dus b.v op het werk.
Namelijk het verkeer wat extern op poort 443 binnenkomt wordt geproxied naar poort 5001 intern.
Grappig hieraan is dat als je in het logboek kijk het lijkt alsof je lokaal ingelogd bent.
Het gedeelte photo.synology.nl heb ik erin gezet omdat anders DSphoto niet meer via https werkte(kan weggelaten worden indien je dit niet nodig vind).

aanpassen (als nano geinstalleerd is)

nano /usr/syno/etc/httpd-ssl-vhost.conf-user

Zet onderstaand in het bestand.

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

NameVirtualHost *:443
<VirtualHost *:443>
ServerName photo.synology.nl #Je kan photostation gewoon op de oude manier blijven benaderen
ProxyRequests Off
SSLEngine on
SSLProxyEngine On
DocumentRoot /usr/syno/synoman/phpsrc/photo
ProxyPass /photo https://192.168.1.102:443/photo #IP adres aanpassen naar jouw interne IP adres
ProxyPassReverse /photo https://192.168.1.102:443/photo #Idem
</VirtualHost>

<VirtualHost *:443>
ServerName admin.synology.nl #benaderen van diskstation dus via https://admin.jouwdomeinnaam.nl
ProxyRequests Off
SSLEngine on
SSLProxyEngine On
ProxyPass / https://192.168.1.102:5001/ #IP adres aanpassen naar jouw interne IP NAS
ProxyPassReverse / https://192.168.1.102:5001/ #Idem
</VirtualHost>


herstarten apache

/usr/syno/etc.defaults/rc.d/S97apache-user.sh restart

Voila.
Titel: Re: Help met rewrite/redirect
Bericht door: raptile op 30 september 2012, 13:28:43
Kan iemand een voorbeeld posten voor hij/zij onderstaande heeft ingeregeld met Sickbeard, Couchpotato etc?

Ik probeer het ook werkend te krijgen voor mn gewone websites maar dat gaat niet:

Ik heb het zo geregeld:

 vi httpd-vhost.conf-user

adModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

NameVirtualHost *:80
<VirtualHost *:80>
ServerName test.domein.nl #Je kan photostation gewoon op de oude manier blijven benaderen
ProxyRequests Off
SSLEngine on
SSLProxyEngine On
DocumentRoot /volume1/web/
ProxyPass /nzbgetweb http://192.168.1.210/nzbgetweb (http://192.168.1.210/nzbgetweb) #IP adres aanpassen naar jouw interne IP adres
ProxyPassReverse /nzbgetweb https://192.168.1.210/nzbgetweb (https://192.168.1.210/nzbgetweb) #Idem
</VirtualHost>

En ik krijg de ERROR:

httpd: Syntax error on line 522 of /usr/syno/apache/conf/httpd.conf: Syntax error on line 2 of /usr/syno/etc/httpd-vhost.conf-user: Cannot load /usr/syno/apache/modules/mod_proxy_http.so into server: /usr/syno/apache/modules/mod_proxy_http.so: undefined symbol: ap_proxy_location_reverse_map

Alvast bedankt voor jullie reacties
Titel: Re: Help met rewrite/redirect
Bericht door: w1ll8m op 01 oktober 2012, 18:41:50
Je hebt https gebruikt bij reverse.
Titel: Re: Help met rewrite/redirect
Bericht door: raptile op 01 oktober 2012, 18:46:23
Citaat van: "w1ll8m"
Je hebt https gebruikt bij reverse.

Ik heb het over het hoofd gezien en aangepast.
Helaas nogsteeds hetzelfde resultaat.:(
Titel: Re: Help met rewrite/redirect
Bericht door: w1ll8m op 01 oktober 2012, 19:45:39
helaas ben ik niet meer in het bezit van een synology dus kan ik niet vergelijken maar de fout is nogal specifiek inclusief lijn nummers dus controleer die eerst maar. :roll: