Een Unix socket (of Unix domain socket) is een communicatiekanaal tussen processen op dezelfde computer. Het werkt als een netwerkverbinding, maar verloopt via het bestandssysteem en is veel sneller omdat er geen netwerkstack aan te pas komt.
| Unix socket | TCP-socket | |
|---|---|---|
| Communicatie | Lokaal (zelfde machine) | Netwerk of lokaal |
| Adres | Bestandspad (/run/nginx.sock) | IP-adres + poort |
| Snelheid | Sneller (geen TCP-overhead) | Langzamer |
| Beveiliging | Bestandspermissies | Firewallregels |
Unix sockets zijn te herkennen aan het type s in ls -l:
ls -la /run/nginx.sock
# srw-rw---- 1 www-data www-data 0 jun 25 nginx.sock
# Alle Unix sockets bekijken
ss -x
# Verbinding maken met een socket
nc -U /run/myapp.sock
curl --unix-socket /run/nginx.sock http://localhost/