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

Software-update: Caddy 2.5.1

Caddy is een opensource-http/2-webserver die beschikbaar is voor Android, BSD, Linux, macOS, Solaris en Windows. Het zet standaard https aan en gebruikt daarvoor de integratie met Let's Encrypt als eigen certificaten niet voorhanden zijn. De eigen feature stack is al behoorlijk compleet, maar kan verder uitgebreid worden via modules. Zo is het onder andere mogelijk om via deze modules experimentele ondersteuning van http/3 aan te zetten. Het ontwikkelteam heeft versie 2.5.1 enkele dagen geleden uitgebracht met de volgende aanpassingen:

Version 2.5.1

This is a minor patch release that fixes some bugs and also enhances reverse_proxy with capabilities that weren't ready in time for v2.5.0.

Highlights
  • Fixed regression in Unix socket admin endpoints.
  • Fixed regression in caddy trust commands.
  • Hash-based load balancing policies (ip_hash, uri_hash, header, and cookie) use an improved highest-random-weight (HRW) algorithm for increased consistency. The new rendezvous hash will ensure a client or request is consistently mapped to a particular upstream even if the list of upstreams changes.
  • The reverse proxy is now able to rewrite the method and URI on its internal copy of the request that goes to the upstream. Combined with new handle_response capabilities, this enables the reverse proxy to fire off "pre-check requests" (for lack of a better term) to make routing decisions based on the results of that call. This enables a commonly-emerging pattern called forward authentication wherein a backend is queried to assess a client's authorization to be proxied. The full, verbose config for this is very flexible but tedious, so we made a new wrapper directive called forward_auth that eliminates the boilerplate (very similar to the php_fastcgi directive). This works with authentication providers like Authelia, and more.
What's Changed
  • caddypki: Fix caddy trust command to use the correct API endpoint
  • reverseproxy: Improve hashing LB policies with HRW
  • Add missing backticks
  • caddyhttp: Improve listen addr error message for IPv6
  • cmd: Fix unix socket addresses for admin API requests
  • logging: Use RedirectStdLog
  • logging: Implement rename filter, changes field key names
  • httpcaddyfile: Fix duplicate access log when debug is on
  • reverseproxy: Fix Caddyfile support for replace_status
  • templates: Add custom template function registration
  • reverseproxy: Permit resolver addresses to not specify a port
  • caddyfile: Shortcut for remote_ip for private IP ranges
  • reverseproxy: Support performing pre-check requests
  • map: Prevent output destinations overlap with Caddyfile shorthands
Versienummer 2.5.1
Releasestatus Final
Besturingssystemen Windows 7, Android, Linux, BSD, macOS, Solaris, UNIX, Windows Server 2012, Windows 8, Windows 10, Windows Server 2016, Windows Server 2019, Windows 11
Website Caddy
Download https://caddyserver.com/docs/install
Licentietype Voorwaarden (GNU/BSD/etc.)

Door Japke Rosink

Meukposter

12-05-2022 • 01:01

13 Linkedin

Bron: Caddy

Update-historie

12-05 Caddy 2.5.1 13
05-'21 Caddy 2.4.1 5
05-'20 Caddy 2.0.0 22
05-'19 Caddy 1.0.0 5
08-'17 Caddy 0.10.7 1
04-'17 Caddy 0.10 5

Reacties (13)

Wijzig sortering
Ik gebruik Caddy ondertussen al jaren, kan het niet genoeg aanraden. Hele cleane configuratiefiles, werkt zeer vlot en in de 3 jaar dat ik het in productie draai nog geen enkel probleem mee gehad.

Is wel even aanpassen aan de andere configuratie-manier, en het herschrijven van rewrite rules kan even pijn doen, maar al bij al absoluut een topproject.
Reageer
Hier iemand die nog ouderwets apache2 gebruikt, in hoe verhoudt caddy zich?
Reageer
Hangt er natuurlijk vanaf hoe je het wilt vergelijken. Qua snelheid is Caddy zeer snel, ik merk geen vertragingen op - is in mijn ervaringen even snel, zoniet sneller dan Nginx.

Caddy is vooral een pak eenvoudiger te configureren, je werkt eigenlijk met een enkele Caddyfile waarin je vhosts aanmaakt. Dat ziet er dan bijvoorbeeld zo uit:
site.be {
root * /var/www/sitepublic
file_server
}
Dat is letterlijk alles wat je nodig hebt voor een eenvoudige static website, waarbij dan ook nog eens automatisch een Let's Encrypt certificaat ingesteld wordt en alle TLS configuratie in orde gebracht wordt. Caddy vernieuwt ook alle certificaten zelf, je moet er eigenlijk niet meer naar omkijken.

Dus qua gemak en performance heeft Caddy mij echt overtuigd.
Reageer
Dat klinkt zeker heel fijn. Ik zal eens kijken. *.site.be pakt dan alle subdomeinen?
Reageer
Voor wie graag met Docker Compose werkt heb je deze versie van Caddy:

https://github.com/lucaslorentz/caddy-docker-proxy

Met minimaal 2 labeltjes onder de services die je wil proxyen, wordt dan alles automatisch voor je geregeld, zonder dat je een Caddy config file hoeft te maken, die wordt dynamisch gemaakt voor je. Simpeler dan dit is volgens mij niet meer mogelijk!

Een voorbeeld:
caddy docker proxy in je compose.yml: (generiek voorbeeld, alles met een $ ervoor, staat dan genoemd een apart .env bestandje).
services:
caddy:
container_name: web-proxy
image: lucaslorentz/caddy-docker-proxy:ci-alpine
## If you use Cloudflare as domain provider, use this image instead:
# image: sabrsorensen/caddy-docker-proxy-cloudflare
restart: always
networks:
- web-proxy
environment:
- CADDY_INGRESS_NETWORKS=web-proxy
## Only required when you use the Cloudflare image:
# - CLOUDFLARE_EMAIL=your.cloudflare@email.com
# - CLOUDFLARE_API_TOKEN=your.cloudflare.apitoken
# - CADDY_DOCKER_PROXY_SERVICE_TASKS=true
# - CADDY_DOCKER_PROCESS_CADDYFILE=true
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- $DOCKERDIR/caddy/caddy_data:/data
- $DOCKERDIR/caddy/config:/config
labels:
caddy.email: $EMAIL
ports:
- 443:443
- 80:80
En als je vervolgens een service online via https beschikbaar wil maken, voeg je deze 2 labels toe, bijvoorbeeld als je je eigen server voor Firefox Sync wil:
firefox-sync:
container_name: firefox-sync
image: crazymax/firefox-syncserver:latest
restart: always
networks:
- web-proxy
environment:
FF_SYNCSERVER_PUBLIC_URL: https://firefox.$DOMAIN
FF_SYNCSERVER_SECRET: $FFSYNCSECRET
FF_SYNCSERVER_FORWARDED_ALLOW_IPS: '*'
FF_SYNCSERVER_FORCE_WSGI_ENVIRON: true
FF_SYNCSERVER_ALLOW_NEW_USERS: false
FF_SYNCSERVER_LOGLEVEL: debug
FF_SYNCSERVER_ACCESSLOG: true
volumes:
- $DOCKERDIR/firefox-sync:/data
labels:
caddy: firefox.$DOMAIN
caddy.reverse_proxy: "{{upstreams 5000}}
Na 1 commando ("docker-compose up -d") heb je direct https://firefox.jouwdomein.com beschikbaar! Met A+ rating etc.

[Reactie gewijzigd door Jazco2nd op 12 mei 2022 14:25]

Reageer
Kijk aan!
Ik heb weer wat te doen vanavond :D
Reageer
Sorry voor de compleetheid, voordat je compose up doet met caddy docker -proxy moet je eerst dit commando uitvoeren, staat ook op GitHub uitgelegd:

docker network create caddy

En het compose voorbeeld mist nog het aanmaken van het netwerk onderaan:

networks:
caddy:
external: true

(2 spaties voor caddy en 4 voor de laatste regel).

Zo is het helemaal compleet!

Wel de 2 poorten in je router forwarden.

[Reactie gewijzigd door Jazco2nd op 13 mei 2022 00:17]

Reageer
Bedankt voor je toevoeging!
Ben enigszins bekend met docker (-compose) en het network create stukkie was me al te binnen geschoten.
Ondertussen draait de hele meute ook al en moet zeggen; had ik eerder moeten doen!
Reageer
Wel de 2 poorten in je router forwarden.
Als je het naar buiten toe open wilt hebben.

Hoe werkt het met dat .env bestand? Heb je al je docker-compose bestanden samen met .env in 1 folder zitten?
En heb je ook nog iets dat alles wat exposed is op die manier op een dashboardje komt?
Reageer
Wat zou ik op een dashboard moeten zien dan?
Bij je domein provider heb je toch de subdomeinen aangemaakt. Ik zou niet weten wat voor overzicht ik nog meer nodig heb?
En als je het binnen je LAN houdt heb je in je hosts bestand of in AdGuard Home de domeinen staan.

docker-compose.yml en het .env bestand zitten bij mij beide in mijn $HOME/docker map. Ik gebruik Manjaro Linux maar bij andere distributies kan je dat net zo doen.

Voor voorbeelden en meer uitleg, zie ook mijn Homeserver guide die ik nog wel aan het finetunen ben, specifiek stap stap 4.

https://github.com/zilexa/Homeserver

[Reactie gewijzigd door Jazco2nd op 14 mei 2022 12:16]

Reageer
Thanks.

Ik heb blocky ipv AdGuard. Daar heb ik dns mapping naar 'ho.me' staan waardoor ik geen individuele hostnames hoef te maken. Een overzichtje is gewoon wel makkelijk, nu zet ik het handmatig in een flame dashboard.
Reageer
Flame werkt met Compose Labels dus hoef je ook niet te configureren, scheelt wel. Een dashboard is natuurlijk heel iets anders dan een https reverse proxy :)

Moet zeggen dat Plugsy en Dashy ook leuke alternatieven zijn voor Flame. Flame heeft wat eigenaardigheden. De developer weigert categorieën voor apps te introduceren. Heeft het wel voor bookmarks. En die begroeting, als je in plaats daarvan een statische titel wil. Moet je 4x een titel invullen ipv 4 begroetingen.

Plugsy heeft dan weer een bug als je deze achter een (lokaal) domein probeert te zetten.

Dashy ondersteund nog geen Compose labels.
Reageer
Dit klinkt voor mij ook interssant. Jammer dat er geen OVH plugin is voor DNS chalange....
Reageer


Om te kunnen reageren moet je ingelogd zijn


Nintendo Switch (OLED model) Apple iPhone SE (2022) LG G1 Google Pixel 6 Call of Duty: Vanguard Samsung Galaxy S22 Garmin fēnix 7 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 - 2022 Hosting door True