Cookies op Tweakers

Tweakers is onderdeel van DPG Media en maakt gebruik van cookies, JavaScript en vergelijkbare technologie om je onder andere een optimale gebruikerservaring te bieden. Ook kan Tweakers hierdoor het gedrag van bezoekers vastleggen en analyseren. Door gebruik te maken van deze website, of door op 'Cookies accepteren' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt? Bekijk dan ons cookiebeleid.

Meer informatie
Toon posts:

Apache rewrite rules werken niet meer

Pagina: 1
Acties:

Vraag


  • servies
  • Registratie: december 1999
  • Laatst online: 10:30

servies

Veni Vidi Servici

Topicstarter
Mijn vraag
Ik maak al tijden gebruik van LetsEncrypt voor m'n certificaten en daarvoor is dus van belang dat de je de .well-known directory via http kunt bereiken.
Hiervoor had ik dus de volgende config voor diverse subdomeinen in gebruik.
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
<VirtualHost *:80>
    ServerAdmin webmaster@example.net
    ServerName www.example.net
    ServerAlias example.net www
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteCond %{REQUEST_URI} !^/.well-known/
    RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R=301,L]
    DocumentRoot "/var/www/example.net"
    ErrorLog /var/log/httpd/example-error_log
    CustomLog /var/log/httpd/example-access_log combined
</VirtualHost>

<VirtualHost *:443>
    #  General setup for the virtual host
    UseCanonicalName On
    AcceptPathInfo On
    DocumentRoot "/var/www/example.net"
    ServerName www.example.net
    ServerAlias example.net www
    Header always add Strict-Transport-Security "max-age=15768000; preload"
    ServerAdmin webmaster@example.net
    ErrorLog /var/log/httpd/example-error_log
    CustomLog /var/log/httpd/example-access_log combined

    #   SSL Engine Switch:
    SSLEngine on

    #   SSL Cipher Suite:
    SSLProtocol ALL -SSLv2 -SSLv3 -TLSv1
    SSLCipherSuite  ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SH>
    SSLHonorCipherOrder on

    #   Server Certificate:
    SSLCertificateFile /etc/letsencrypt/live/example.net/cert.pem

    #   Server Private Key:
    SSLCertificateKeyFile /etc/letsencrypt/live/example.net/privkey.pem

    #   Server Certificate Chain:
    SSLCertificateChainFile /etc/letsencrypt/live/example.net/chain.pem

    #   SSL Engine Options:
    #SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
    <FilesMatch "\.(cgi|shtml|phtml|php4|php|php3?)$">
        SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory "/var/www/cgi-bin">
        SSLOptions +StdEnvVars
    </Directory>

    #   SSL Protocol Adjustments:
    BrowserMatch ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
</VirtualHost>

Sinds vorige week viel mij ineens op dat de redirect niet meer werkt en ik een foutmelding krijg:

---------------------------------
Bad Request
Your browser sent a request that this server could not understand.
Reason: You're speaking plain HTTP to an SSL-enabled server port.
Instead use the HTTPS scheme to access this URL, please.
---------------------------------

Ook het refreshen van het LetsEncrypt certificaat gaat nu de mist in.
Ik zie de fout niet... Iemand een idee??? Ergens in de Rewrite rules moet iets fout gaan, maar dit heeft tijden gewoon netjes gewerkt...
Ik draai de standaard Apache 2.4.37 webserver op CentOS 8.
Wat is er in Apache verandert dat dit niet meer werkt???
Ik wil gewoon dat de http request automatisch herschreven wordt naar https behalve voor die letsencrypt .well-known directory...

Alle reacties


  • u34186
  • Registratie: september 2001
  • Niet online
Wat zie je in de logs op de server zelf? En wat is de exacte URI die je opvraagt? Want deze error is toch veelzeggend: "You're speaking plain HTTP to an SSL-enabled server port.". Je komt via HTTP binnen op een vhost waar HTTPS geconfigureerd is.

Block ads en trackers: uBlock Origin, uMatrix, Pi-Hole
YouTube: SponsorBlock en YoutubeVanced


Acties:
  • +1Henk 'm!

  • servies
  • Registratie: december 1999
  • Laatst online: 10:30

servies

Veni Vidi Servici

Topicstarter
Evanescent schreef op woensdag 15 juli 2020 @ 14:19:
Wat zie je in de logs op de server zelf? En wat is de exacte URI die je opvraagt? Want deze error is toch veelzeggend: "You're speaking plain HTTP to an SSL-enabled server port.". Je komt via HTTP binnen op een vhost waar HTTPS geconfigureerd is.
Verdorie, nu herinner ik me weer iets... ik heb een wijziging gemaakt in m'n ssl.conf en verdorie daar zit de rest van de oorzaak ook nog.
Op de een of andere manier heeft dat tijden goed gewerkt terwijl daar nog een
code:
1
<VirtualHost _default_:443>

blok in stond. Deze verstoorde een week of 6 geleden van de een op andere dag mijn certificaten en toen heb ik alleen
code:
1
<VirtualHost _default_:443>

en
code:
1
</VirtualHost>

uitgecommentarieerd. |:( |:( |:( |:( |:( |:( |:(
Nu het hele blok weggehaald en het werkt weer naar behoren...

  • DJMaze
  • Registratie: juni 2002
  • Niet online
servies schreef op woensdag 15 juli 2020 @ 14:11:
code:
1
2
3
<VirtualHost *:80>
    RewriteCond %{REQUEST_URI} !^/.well-known/
    RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R=301,L]
Deze is sowieso niet goed. /.well-known/ is helemaal niet van Let's Encrypt en je blokkeert hiermee elke andere mogelijke vorm.

Andere optie:

code:
1
2
3
4
<VirtualHost *:80>
    RewriteCond %{REQUEST_URI} !^/.well-known/acme-challenge/
    RewriteRule ^(/.*) https://%{HTTP_HOST}$1 [NC,R=301,L]
</VirtualHost>


Of:
code:
1
2
3
4
5
6
Alias "/.well-known/acme-challenge/" "/var/www/html/.well-known/acme-challenge/"
<Directory "/var/www/html/.well-known/acme-challenge/">
    Require all granted
    Options -Indexes -FollowSymLinks
    AllowOverride None
</Directory>

code:
1
certbot-auto --webroot --webroot-path /var/www/html {additional_params_here}

Maak je niet druk, dat doet de compressor maar


  • servies
  • Registratie: december 1999
  • Laatst online: 10:30

servies

Veni Vidi Servici

Topicstarter
DJMaze schreef op maandag 20 juli 2020 @ 21:03:
[...]

Deze is sowieso niet goed. /.well-known/ is helemaal niet van Let's Encrypt en je blokkeert hiermee elke andere mogelijke vorm.
Hij is op zich wel goed (zo heb ik 'm destijds ergens van het Let's Encrypt forum geplukt), maar eigenlijk heb je ook weer gelijk. De door jou gegeven rewrite rule is nog specifieker en daarmee beter.
Al het andere verkeer moet sowieso een rewrite naar https krijgen.


Apple iPad Pro (2021) 11" Wi-Fi, 8GB ram Microsoft Xbox Series X LG CX Google Pixel 5a 5G Sony XH90 / XH92 Samsung Galaxy S21 5G Sony PlayStation 5 Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True