[Apache] alleen https voor default vhost

Pagina: 1
Acties:

  • trinite_t
  • Registratie: Maart 2003
  • Laatst online: 19-01 16:29
Ik ben weer eens met m'n servertje aan het spelen en wel het https een netjes zetten.
Https werkt goed, daarmee geen problemen (behalve het standaard gezeur met self signed certificates), maar nu komt het volgende. Stel mijn server' default vhost is www.mijndomein.nl, het default vhost voor ssl is ook deze.

Nu komt het probleem, als ik nu naar een andere vhost op mijn server ga, bijvoorbeeld https://www.anderdomein.nl, dan kom ik uit bij de data van https://www.mijndomein.nl. Dit heb ik kunnen "oplossen" met de volgende rewrite rules in mijn https vhost:

code:
1
2
3
4
RewriteEngine on
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} !www.mijndomein.nl$
RewriteRule ^(.*) http://%{HTTP_HOST}%{REQUEST_URI}


Dit zorgt ervoor dat als mensen via https naar anderdomein.nl gaan ze teruggezet worden naar http://anderdomein.nl. Probleem is, dat ze nog steeds de melding krijgen over een ongeldig certificaat, en dat ze daarna pas doorgestuurd worden naar het andere domein.

Het liefst zou ik het https domein alleen maar toegankelijk maken via www.mijndomein.nl, en als je het via bijvoorbeeld www.anderdomein.nl zou doen, er helemaal geen verbinding tot stand gebracht wordt. Op zich is de oplossing hierboven ook goed, maar dan zou ik in ieder geval niet de certificaat fout willen hebben.

Heeft iemand hier een nette oplossing voor?

The easiest way to solve a problem is just to solve it.


  • gertvdijk
  • Registratie: November 2003
  • Laatst online: 10:41
Je ziet een belangrijk aspect van het SSL ontwerp over het hoofd. SSL is een niveau hoger dan het overleg welke vhost je wil hebben. Je browser connect naar het ip van je server en krijgt - al voor hij kan vertellen welk domeinnaam (vhost) bedoelt - het SSL certificaat en en de encryptie. Je kan dus nooit iemand doorverwijzen van https naar http voordat je het certificaat hebt overlegd.
trinite_t schreef op vrijdag 24 oktober 2008 @ 13:03:
Nu komt het probleem, als ik nu naar een andere vhost op mijn server ga, bijvoorbeeld http://www.anderdomein.nl, dan kom ik uit bij de data van https://www.mijndomein.nl.
Dat je met een http request uitkomt op een https verbinding moet je wel on purpose hebben gedaan, want dat gaat niet zomaar. Weet je wel wat je allemaal doet en ben je niet allemaal how-to's aan het copy-pasten? Post (of liever attach censored) je apache configs even.

Kia e-Niro 2021 64kWh DynamicPlusLine. 3x Victron MP-II op 15kWh US5000 3f thuisbatterij met 3x25A→3x40A PowerAssist, Victron EVCS, 3200Wp HoyMiles zp. my GitHub, my blog


  • trinite_t
  • Registratie: Maart 2003
  • Laatst online: 19-01 16:29
gertvdijk schreef op vrijdag 24 oktober 2008 @ 13:38:
Je ziet een belangrijk aspect van het SSL ontwerp over het hoofd. SSL is een niveau hoger dan het overleg welke vhost je wil hebben. Je browser connect naar het ip van je server en krijgt - al voor hij kan vertellen welk domeinnaam (vhost) bedoelt - het SSL certificaat en en de encryptie. Je kan dus nooit iemand doorverwijzen van https naar http voordat je het certificaat hebt overlegd.
Ik snap heel goed dat dit zo werkt. Ik vroeg me alleen af of er een manier was om er om heen te komen. Er zijn lijkt mij tig hosters met hetzelfde probleem. (een https domein, en de rest http, je wilt niet dat als klanten https://www.hundomein.nl intypten dat ze dan bij het hoofd ssl domein uitkomen)
gertvdijk schreef op vrijdag 24 oktober 2008 @ 13:38:
Dat je met een http request uitkomt op een https verbinding moet je wel on purpose hebben gedaan, want dat gaat niet zomaar. Weet je wel wat je allemaal doet en ben je niet allemaal how-to's aan het copy-pasten? Post (of liever attach censored) je apache configs even.
Dat is een typo O-) , het moet https request zijn, dus https://anderdomein.nl => https://www.mijndomein.nl. Sorry hiervoor, nu aangepast.

The easiest way to solve a problem is just to solve it.


  • Kees
  • Registratie: Juni 1999
  • Laatst online: 10:26

Kees

Serveradmin / BOFH / DoC
Enige oplossing is een ander IP voor je https domein.

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


  • Ultra
  • Registratie: Maart 2000
  • Niet online
Kees schreef op vrijdag 24 oktober 2008 @ 16:13:
Enige oplossing is een ander IP voor je https domein.
Het lijkt echter wel te kunnen op hetzelfde IP, http://www.g-loaded.eu/20...al-hosts-with-mod_gnutls/ .

  • Herko_ter_Horst
  • Registratie: November 2002
  • Niet online
Uit het commentaar (uit 2007) op die pagina, geen idee hoe 'waar' het is:
Unfortunately SNI support in browsers is limited to these:

Firefox 2, IE 7 on Vista, Opera 7.6+ and other modern browsers.

(http://weblogs.mozillazin..._hosting_ssl_and_sni.html)

IE 6, lynx, safari and the like are not supported.

"Any sufficiently advanced technology is indistinguishable from magic."


  • gertvdijk
  • Registratie: November 2003
  • Laatst online: 10:41
Herko_ter_Horst schreef op vrijdag 24 oktober 2008 @ 16:25:
Uit het commentaar (uit 2007) op die pagina, geen idee hoe 'waar' het is:
Heeft niks te maken met hoe waar het is. Ik snap het principe wel. De browser stuurt gewoon voor alle vhosts het certificaat door en de browser beslist dan welke geschikt is voor het opgevraagde domein/vhost. Daar heb je nou eenmaal support voor je browser voor nodig en ik kan me dus voorstellen dat wat oudere browsers dat niet zullen hebben.

Kia e-Niro 2021 64kWh DynamicPlusLine. 3x Victron MP-II op 15kWh US5000 3f thuisbatterij met 3x25A→3x40A PowerAssist, Victron EVCS, 3200Wp HoyMiles zp. my GitHub, my blog


  • trinite_t
  • Registratie: Maart 2003
  • Laatst online: 19-01 16:29
Even voor de duidelijkheid, die urls heb ik ook gevonden, alleen dat is niet echt wat ik wil. Meerdere ssl virtualhosts is niet nodig.
Wat ik juist wil is dat ik voor alle gewone http vhosts, als ik die open als https, dat ik dan niet doorgesturd wordt naar het https domein, wat nu wel gebeurd. In feite hetgeen dat die rewrite rule nu doet, maar dan zonder dat het ssl certificaat geaccepteerd moet worden, of gewoon een access denied.

Ik heb nu net enkele aanpassingen aan het rewrite schema gedaan:
code:
1
2
3
4
    RewriteEngine on
    RewriteCond %{HTTPS} on
    RewriteCond %{HTTP_HOST} !server01.bergict.nl$ [NC]
    RewriteRule ^(.*) - [R=404,L]

Dit zorgt ervoor dat de bezoeker een 404 error krijgt. Deze vind ik al weer netter, wel moet nog steeds het certificaat geaccepteerd worden, maar dit is kennelijk niet te voorkomen.

[ Voor 31% gewijzigd door trinite_t op 24-10-2008 20:34 ]

The easiest way to solve a problem is just to solve it.

Pagina: 1