Oriġinarjament, is-setup tal-blog tiegħi kien ippjanat bħala proġett IPv6 biss permezz ta' WireGuard, peress li kollox qed jaħdem fuq homeserver (indirizzi IPv6 b'xejn tista' ġġibhom minn route64.org). Biex inżid l-aċċessibbiltà, issa żidt proxy IPv4 estern (Grazzi @Larvitz).

Madankollu, kien hemm problemi tal-SSL immedjatament: Peress li oriġinarjament kemm ir-record A kif ukoll ir-record AAAA kienu għaddejjin mill-proxy, il-validazzjoni ta' Let's Encrypt fuq is-server tiegħi falliet.

Is-soluzzjoni: L-„IPv6-Hack“

Is-soluzzjoni kienet li l-entrata AAAA tiġi ppuntata b'mod espliċitu direttament lejn l-IP tal-WireGuard tas-server tiegħi, minflok ma tgħaddi wkoll mill-proxy.

  • Dominju: blog.burningboard.org
  • A-Record (Proxy): 194.28.98.217
  • AAAA-Record (Server): 2a11:6c7:f05:a8::2 (WireGuard)

Permezz ta' din l-entrata AAAA diretta lejn l-IP tal-WireGuard tiegħi, Let’s Encrypt xorta jilħaq is-server tiegħi direttament permezz tal-IPv6 (peress li r-record AAAA jingħata prijorità b'mod awtomatiku) u joħroġ iċ-ċertifikat SSL. It-traffiku IPv4 jiġi mgħoddi lili mill-proxy b'mod ikkriptat.

Il-konfigurazzjoni finali

Biex il-komunikazzjoni taħdem bla xkiel, kellna naġġustaw is-servers Caddy:

1. Fuq is-server tiegħi (NixOS, blog.nix)

Biex l-IPs reali tal-viżitaturi jaslu b'mod korrett u ma jiġux miktuba fuqhom bl-IP tal-proxy, dan tal-aħħar irid jiġi mmarkat bħala fdat:

services.caddy.globalConfig = ''
  servers {
      trusted_proxies static 2a06:9801:1c:1000::10
  }
'';

2. Fuq il-proxy estern (Caddy)

Biex il-proxy jikkomunika mas-server tiegħi b'mod korrett permezz tal-HTTPS, irid jibgħat il-hostname (SNI):

reverse_proxy [https://[2a11:6c7:f05:a8::2]:443](https://[2a11:6c7:f05:a8::2]:443) {
    header_up Host {host}
    transport http {
        tls_server_name blog.burningboard.org
    }
}

Il-blog issa huwa aċċessibbli permezz tal-IPv4 u l-IPv6, ikkriptat b'mod sigur u l-IP tad-dar tiegħi xorta jibqa' privat! 🚀