« WireGuard LXC Alpine Linux » : différence entre les versions
| (61 versions intermédiaires par 2 utilisateurs non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
= | {{Barre de progression|100|largeur=400px|hauteur=10|couleur1 = green|texte=Testé et approuvé}} | ||
[https:// | {{Méta bandeau | ||
| niveau = information | |||
| icône = loupe | |||
| texte = A noter qu'il existe une version Docker tout en un (VPN + GUI de gestion) beaucoup plus simple à mettre en place, mais avec surcouche réseau d'un conteneur, nommé [https://github.com/wg-easy/wg-easy wg-easy] (non testé). | |||
}} | |||
= LXC Alpine 3.12 = | = LXC Alpine 3.12 = | ||
== WireGuard Server == | == Installation de WireGuard Server == | ||
Avec un téléphone android connecté !!! : | Avec un téléphone android connecté !!! : | ||
[[File:Capture_ressource_WG_AlpineLXC.PNG|Incroyablement économe !]] | |||
On autorise le routage : | |||
On autorise | lxcalpine:~# echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf | ||
# echo | lxcalpine:~# sysctl -p | ||
# sysctl -p | |||
net.ipv4.ip_forward = 1 | net.ipv4.ip_forward = 1 | ||
# rc-update add sysctl default | lxcalpine:~# rc-update add sysctl default | ||
Puis on install : | Puis on install : | ||
# apk update && apk upgrade | lxcalpine:~# apk update && apk upgrade | ||
# apk add wireguard-tools | lxcalpine:~# apk add wireguard-tools | ||
== Configuration de WireGuard Server == | |||
On | On génère la configuration sur [https://www.wireguardconfig.com/ '''wireguardconfig'''] | ||
<code># vi /etc/wireguard/wg0.conf</code> | <code># vi /etc/wireguard/wg0.conf</code> | ||
| Ligne 51 : | Ligne 53 : | ||
<code># vi /etc/wireguard/client1.conf</code> | <code># vi /etc/wireguard/client1.conf</code> | ||
[Interface] | [Interface] | ||
Address = 10.0.0.2/24 | Address = 10.0.0.2/24 | ||
| Ligne 59 : | Ligne 62 : | ||
PublicKey = ***************************************** | PublicKey = ***************************************** | ||
PresharedKey = ***************************************** | PresharedKey = ***************************************** | ||
<font color= | <font color=blue>AllowedIPs = 0.0.0.0/1, 128.0.0.0/1</font> | ||
Endpoint = myserver.dyndns.org:51820 | Endpoint = myserver.dyndns.org:51820 | ||
<font color= | {{Méta bandeau | ||
| niveau = information | |||
| icône = loupe | |||
| texte = Opération à répéter pour chaque client.. | |||
}} | |||
{{Méta bandeau | |||
| niveau = information | |||
| icône = loupe | |||
| texte = <font color=blue>Allowed IP</font> modifié pour ne pas rediriger tout le traffic et perdre l'accès a son réseau local.. | |||
}} | |||
{{Méta bandeau | |||
| niveau = information | |||
| icône = loupe | |||
| texte = <font color=blue>Allowed IP</font> peut aussi être modifié pour ne rediriger que les paquets a destination du réseau distant et conserver Internet localement sans passer par le serveur distant, exemple : "'''AllowedIPs = 192.168.2.0/24'''" | |||
}} | |||
== Test == | == Test du service == | ||
<code># wg-quick up wg0</code> | <code>lxcalpine:~# wg-quick up wg0</code> | ||
[#] ip link add wg0 type wireguard | [#] ip link add wg0 type wireguard | ||
[#] wg setconf wg0 /dev/fd/63 | [#] wg setconf wg0 /dev/fd/63 | ||
| Ligne 72 : | Ligne 89 : | ||
[#] iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE | [#] iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE | ||
# wg | lxcalpine:~# wg | ||
<font color=green>interface: wg0</font> | <font color=green>interface: wg0</font> | ||
| Ligne 92 : | Ligne 109 : | ||
Fin du test : | Fin du test : | ||
# wg-quick down wg0 | lxcalpine:~# wg-quick down wg0 | ||
[#] ip link delete dev wg0 | [#] ip link delete dev wg0 | ||
[#] iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE | [#] iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE | ||
== | == Création du script init.d pour lancer le service == | ||
[https://gist.github.com/r0v/48e18c9584d4b5ecb96f593dec9a938c '''source'''] | [https://gist.github.com/r0v/48e18c9584d4b5ecb96f593dec9a938c '''source'''] | ||
# vi /etc/init.d/wireguard | lxcalpine:~# vi /etc/init.d/wireguard | ||
#!/sbin/openrc-run | |||
depend() { | depend() { | ||
| Ligne 122 : | Ligne 139 : | ||
} | } | ||
# chmod +x /etc/init.d/wireguard | On active le script immédiatement et au redémarrage : | ||
lxcalpine:~# chmod +x /etc/init.d/wireguard | |||
# rc-update add wireguard default | lxcalpine:~# rc-update add wireguard default | ||
lxcalpine:~# service wireguard start | |||
On peut [[#Test_du_service|tester]] avec "wg", rebooter pour vérifier etc... | |||
On peut tester avec "wg", rebooter pour vérifier etc... | |||
== (Optionnel) QR Code == | == (Optionnel) QR Code == | ||
# apk add libqrencode | lxcalpine:~# apk add libqrencode | ||
Exemple : | Exemple : | ||
# qrencode -t ansiutf8 < /etc/wireguard/client1.conf | lxcalpine:~# qrencode -t ansiutf8 < /etc/wireguard/client1.conf | ||
voila! | voila! | ||
== Ajout d'un utilisateur == | |||
On crée les clefs de cryptage pour le nouvel utilisateur dans le repertoir "tmp" : | |||
{{Méta bandeau | |||
| niveau = information | |||
| icône = loupe | |||
| texte = Remplacer <font color = blue>nom_utilisateur</font> par le nom souhaité. | |||
}} | |||
# cd /tmp/ | |||
# umask 077 | |||
# name="<font color = blue>nom_utilisateur</font>" | |||
# wg genkey | tee "${name}.key" | wg pubkey > "${name}.pub" | |||
# wg genpsk > "${name}.psk" | |||
On peuple le fichier de configuration de WireGuard avec le nouvel utilisateur : | |||
{{Méta bandeau | |||
| niveau = information | |||
| icône = loupe | |||
| texte = Remplacer <font color = blue>10.0.0.5/32</font> par une adresse VPN libre. | |||
}} | |||
# echo "" >> /etc/wireguard/wg0.conf | |||
# echo "[Peer]" >> /etc/wireguard/wg0.conf | |||
# echo "PublicKey = $(cat "${name}.pub")" >> /etc/wireguard/wg0.conf | |||
# echo "PresharedKey = $(cat "${name}.psk")" >> /etc/wireguard/wg0.conf | |||
# echo "AllowedIPs = <font color = blue>10.0.0.5/32</font>" >> /etc/wireguard/wg0.conf | |||
Ensuite on peuple le fichier de configuration utilisateur, il faut d'abord récupérer la clef pubique du serveur (ici en bleu) : | |||
# wg | |||
<font color = green>interface</font>: <font color = darkgreen>wg0</font> | |||
public key: <font color = blue>MaClEfPubLiQUe=</font> | |||
private key: (hidden) | |||
<font color = grey>...</font> | |||
{{Méta bandeau | |||
| niveau = information | |||
| icône = loupe | |||
| texte = <font color = blue>10.0.0.5/24</font> adresse VPN libre sélectionner dans le fichier utilisateur ci-dessus / <font color = blue>192.168.1.0/24</font> l'adresse du serveur cible à atteindre (différentes configuration possible [[#Configuration_de_WireGuard_Server|voir la configuration serveur)]] | |||
}} | |||
# echo "[Interface]" > "/etc/wireguard/${name}.conf" | |||
# echo "Address = <font color = blue>10.0.0.5/24</font>" >> "/etc/wireguard/${name}.conf" | |||
# echo "ListenPort = <font color = green>51820</font>" >> "/etc/wireguard/${name}.conf" | |||
# echo "PrivateKey = $(cat "${name}.key")" >> "/etc/wireguard/${name}.conf" | |||
# echo "" >> "/etc/wireguard/${name}.conf" | |||
# echo "[Peer]" >> "/etc/wireguard/${name}.conf" | |||
# echo "PublicKey = <font color = blue>MaClEfPubLiQUe=</font>" >> "/etc/wireguard/${name}.conf" | |||
# echo "PresharedKey = $(cat "${name}.psk")" >> "/etc/wireguard/${name}.conf" | |||
# echo "AllowedIPs = <font color = blue>192.168.1.0/24</font>" >> "/etc/wireguard/${name}.conf" | |||
# echo "Endpoint = <font color = blue>monserveurvpn.exemple.net</font>:<font color = green>51820</font>" >> "/etc/wireguard/${name}.conf" | |||
Enfin on redémarre le service pour appliquer les changement : | |||
# service wireguard restart | |||
= wireguard-ui = | |||
[https://github.com/ngoduykhanh/wireguard-ui Source github] | |||
== Installation == | |||
On récupère le programme : | |||
# mkdir -p /opt/wgui | |||
# cd /opt/wgui | |||
# <nowiki>https://</nowiki>github.com/ngoduykhanh/wireguard-ui/releases/download/v<font color = greenn>0.6.2</font>/wireguard-ui-v<font color = greenn>0.6.2</font>-linux-amd64.tar.gz | |||
# tar -xzf wireguard-ui-v<font color = greenn>0.6.2</font>-linux-amd64.tar.gz | |||
# rm wireguard-ui-v<font color = greenn>0.6.2</font>-linux-amd64.tar.gz | |||
On peut tester le fonctionnement du serveur en lançant le bin : | |||
# /opt/wgui/wireguard-ui | |||
Le serveur web sera accessible sur le port 5000, avec l'utilisateur "admin" et mot de passe "admin" par défault (penser à changer le mot de passe immédiatement). | |||
== Création des scripts RC == | |||
=== (Optionnel) Script pour surveillé wg0.conf === | |||
On crée le script exécutable : | |||
# vi /usr/local/bin/wgui | |||
#!/bin/sh | |||
wg-quick down wg0 | |||
wg-quick up wg0 | |||
# chmod +x /usr/local/bin/wgui | |||
Puis le script RC pour l'utiliser : | |||
# vi /etc/init.d/wgui | |||
#!/sbin/openrc-run | |||
command=/sbin/inotifyd | |||
command_args="/usr/local/bin/wgui /etc/wireguard/wg0.conf:w" | |||
pidfile=/run/${RC_SVCNAME}.pid | |||
command_background=yes | |||
# chmod +x /etc/init.d/wgui | |||
Enfin on inscrit le script RC au système : | |||
# rc-service wgui start | |||
# rc-update add wgui default | |||
=== Script RC pour lancer le GUI automatiquement === | |||
# vi /etc/init.d/wireguard-ui | |||
#!/sbin/openrc-run | |||
name="wireguard-ui" | |||
directory="/opt/wgui" | |||
command="/opt/wgui/wireguard-ui" | |||
command_background="yes" | |||
pidfile="/run/${RC_SVCNAME}.pid" | |||
depend() { | |||
need net | |||
} | |||
# chmod +x /etc/init.d/wireguard-ui | |||
# rc-update add wireguard-ui default | |||
# rc-service wireguard-ui start | |||
# reboot | |||
== Importation ancienne configuration == | |||
"wireguard-ui" est un projet fonctionnel mais dont le développement est abandonné/lent. L'interface web n'est pas prévu pour lire une ancienne configuation, si vous ne démarrez pas votre VPN avec la GUI (donc en partant de 0) il faudra modifier des fichiers .json à la main dans "/opt/wgui/db/" | |||
A noter qu'un utilisateur à créé [https://github.com/ngoduykhanh/wireguard-ui/issues/485 un script d'import automatisé] (non testé). | |||
Certains paramètres pourront être recréé via la GUI, d'autres devront être modifié à la main (pensez a sauvegarder votre wg0.conf et fichiers clients), exemples : | |||
* Les clefs du serveur se trouvent dans "/opt/wgui/db/server/keypair.json" | |||
* il est possible de recréer les utilisateur via la GUI, mais si vous spécifiez la "PublicKey" et "PresharedKey" alors il faudra renseigner la "private_key" dans "/opt/wgui/db/clients/<font color = green>client</font>.json | |||
== vhost nginx == | |||
{{Méta bandeau | |||
| niveau = information | |||
| icône = loupe | |||
| texte = Voir [[Nginx_ReverseProxy_LXC_Alpine_Linux|Reverse Proxy Nginx]] | |||
}} | |||
server { | |||
listen 80; | |||
listen [::]:80; | |||
server_name <font color = blue>wireguard.exemple.net</font>; | |||
# return 404; | |||
return 301 <nowiki>https://</nowiki>$host$request_uri; | |||
} | |||
server { | |||
server_name <font color = blue>wireguard.exemple.net</font>; | |||
error_page 403 <nowiki>https://</nowiki><font color = blue>wireguard.exemple.net</font>; | |||
location / { | |||
#proxy_set_header Upgrade $http_upgrade; | |||
#proxy_set_header Connection "upgrade"; | |||
proxy_set_header Host $host; | |||
proxy_set_header X-Real-IP $remote_addr; | |||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | |||
proxy_set_header X-Forwarded-Proto $scheme; | |||
#proxy_set_header X-Forwarded-Host $host; | |||
#proxy_set_header X-Forwarded-Port $server_port; | |||
proxy_pass http://<font color = blue>IP_SERVEUR_WEB</font>:5000; | |||
# proxy_pass <nowiki>https://</nowiki>IP_SERVEUR_WEB:PORT; #Alternatif pour redirection sur https | |||
#proxy_buffering off; #activer pour désactiver le "buffering" | |||
} | |||
listen [::]:443 ssl; # managed by Certbot | |||
listen 443 ssl; # managed by Certbot | |||
ssl_certificate /etc/letsencrypt/live/<font color = blue>wireguard.exemple.net</font>/fullchain.pem; | |||
ssl_certificate_key /etc/letsencrypt/live/<font color = blue>wireguard.exemple.net</font>/privkey.pem; | |||
include /etc/letsencrypt/options-ssl-nginx.conf; | |||
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; | |||
add_header Strict-Transport-Security "max-age=31536000" always; | |||
ssl_trusted_certificate /etc/letsencrypt/live/<font color = blue>wireguard.exemple.net</font>/chain.pem; | |||
#ssl_stapling on; | |||
#ssl_stapling_verify on; | |||
server_tokens off; | |||
add_header X-Frame-Options "SAMEORIGIN"; | |||
add_header X-XSS-Protection "1; mode=block"; | |||
add_header X-Content-Type-Options "nosniff"; | |||
} | |||
Dernière version du 4 avril 2026 à 13:45
100 % Testé et approuvé
LXC Alpine 3.12
Installation de WireGuard Server
Avec un téléphone android connecté !!! :
On autorise le routage :
lxcalpine:~# echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf lxcalpine:~# sysctl -p
net.ipv4.ip_forward = 1
lxcalpine:~# rc-update add sysctl default
Puis on install :
lxcalpine:~# apk update && apk upgrade lxcalpine:~# apk add wireguard-tools
Configuration de WireGuard Server
On génère la configuration sur wireguardconfig
# vi /etc/wireguard/wg0.conf
[Interface] Address = 10.0.0.1/24 ListenPort = 51820 PrivateKey = ***************************************** PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE [Peer] PublicKey = ***************************************** PresharedKey = ***************************************** AllowedIPs = 10.0.0.2/32 [Peer] PublicKey = ***************************************** PresharedKey = ***************************************** AllowedIPs = 10.0.0.3/32 [Peer] PublicKey = ***************************************** PresharedKey = ***************************************** AllowedIPs = 10.0.0.4/32
# vi /etc/wireguard/client1.conf
[Interface] Address = 10.0.0.2/24 ListenPort = 51820 PrivateKey = ***************************************** [Peer] PublicKey = ***************************************** PresharedKey = ***************************************** AllowedIPs = 0.0.0.0/1, 128.0.0.0/1 Endpoint = myserver.dyndns.org:51820
Test du service
lxcalpine:~# wg-quick up wg0
[#] ip link add wg0 type wireguard [#] wg setconf wg0 /dev/fd/63 [#] ip -4 address add 10.0.0.1/24 dev wg0 [#] ip link set mtu 1420 up dev wg0 [#] iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
lxcalpine:~# wg
interface: wg0 public key: ***************************************** private key: (hidden) listening port: 51820 peer: ***************************************** preshared key: (hidden) allowed ips: 10.0.0.2/32 peer: ***************************************** preshared key: (hidden) allowed ips: 10.0.0.3/32 peer: ***************************************** preshared key: (hidden) allowed ips: 10.0.0.4/32
Fin du test :
lxcalpine:~# wg-quick down wg0
[#] ip link delete dev wg0 [#] iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
Création du script init.d pour lancer le service
lxcalpine:~# vi /etc/init.d/wireguard
#!/sbin/openrc-run
depend() {
need localmount
need net
}
start() {
ebegin "Starting wireguard"
/usr/bin/wg-quick up wg0
eend $?
}
stop() {
ebegin "Stopping wireguard"
/usr/bin/wg-quick down wg0
eend $?
}
On active le script immédiatement et au redémarrage :
lxcalpine:~# chmod +x /etc/init.d/wireguard lxcalpine:~# rc-update add wireguard default lxcalpine:~# service wireguard start
On peut tester avec "wg", rebooter pour vérifier etc...
(Optionnel) QR Code
lxcalpine:~# apk add libqrencode
Exemple :
lxcalpine:~# qrencode -t ansiutf8 < /etc/wireguard/client1.conf
voila!
Ajout d'un utilisateur
On crée les clefs de cryptage pour le nouvel utilisateur dans le repertoir "tmp" :
# cd /tmp/
# umask 077
# name="nom_utilisateur"
# wg genkey | tee "${name}.key" | wg pubkey > "${name}.pub"
# wg genpsk > "${name}.psk"
On peuple le fichier de configuration de WireGuard avec le nouvel utilisateur :
# echo "" >> /etc/wireguard/wg0.conf
# echo "[Peer]" >> /etc/wireguard/wg0.conf
# echo "PublicKey = $(cat "${name}.pub")" >> /etc/wireguard/wg0.conf
# echo "PresharedKey = $(cat "${name}.psk")" >> /etc/wireguard/wg0.conf
# echo "AllowedIPs = 10.0.0.5/32" >> /etc/wireguard/wg0.conf
Ensuite on peuple le fichier de configuration utilisateur, il faut d'abord récupérer la clef pubique du serveur (ici en bleu) :
# wg
interface: wg0 public key: MaClEfPubLiQUe= private key: (hidden) ...
# echo "[Interface]" > "/etc/wireguard/${name}.conf"
# echo "Address = 10.0.0.5/24" >> "/etc/wireguard/${name}.conf"
# echo "ListenPort = 51820" >> "/etc/wireguard/${name}.conf"
# echo "PrivateKey = $(cat "${name}.key")" >> "/etc/wireguard/${name}.conf"
# echo "" >> "/etc/wireguard/${name}.conf"
# echo "[Peer]" >> "/etc/wireguard/${name}.conf"
# echo "PublicKey = MaClEfPubLiQUe=" >> "/etc/wireguard/${name}.conf"
# echo "PresharedKey = $(cat "${name}.psk")" >> "/etc/wireguard/${name}.conf"
# echo "AllowedIPs = 192.168.1.0/24" >> "/etc/wireguard/${name}.conf"
# echo "Endpoint = monserveurvpn.exemple.net:51820" >> "/etc/wireguard/${name}.conf"
Enfin on redémarre le service pour appliquer les changement :
# service wireguard restart
wireguard-ui
Installation
On récupère le programme :
# mkdir -p /opt/wgui # cd /opt/wgui # https://github.com/ngoduykhanh/wireguard-ui/releases/download/v0.6.2/wireguard-ui-v0.6.2-linux-amd64.tar.gz # tar -xzf wireguard-ui-v0.6.2-linux-amd64.tar.gz # rm wireguard-ui-v0.6.2-linux-amd64.tar.gz
On peut tester le fonctionnement du serveur en lançant le bin :
# /opt/wgui/wireguard-ui
Le serveur web sera accessible sur le port 5000, avec l'utilisateur "admin" et mot de passe "admin" par défault (penser à changer le mot de passe immédiatement).
Création des scripts RC
(Optionnel) Script pour surveillé wg0.conf
On crée le script exécutable :
# vi /usr/local/bin/wgui
#!/bin/sh wg-quick down wg0 wg-quick up wg0
# chmod +x /usr/local/bin/wgui
Puis le script RC pour l'utiliser :
# vi /etc/init.d/wgui
#!/sbin/openrc-run
command=/sbin/inotifyd
command_args="/usr/local/bin/wgui /etc/wireguard/wg0.conf:w"
pidfile=/run/${RC_SVCNAME}.pid
command_background=yes
# chmod +x /etc/init.d/wgui
Enfin on inscrit le script RC au système :
# rc-service wgui start # rc-update add wgui default
Script RC pour lancer le GUI automatiquement
# vi /etc/init.d/wireguard-ui
#!/sbin/openrc-run
name="wireguard-ui"
directory="/opt/wgui"
command="/opt/wgui/wireguard-ui"
command_background="yes"
pidfile="/run/${RC_SVCNAME}.pid"
depend() {
need net
}
# chmod +x /etc/init.d/wireguard-ui # rc-update add wireguard-ui default # rc-service wireguard-ui start # reboot
Importation ancienne configuration
"wireguard-ui" est un projet fonctionnel mais dont le développement est abandonné/lent. L'interface web n'est pas prévu pour lire une ancienne configuation, si vous ne démarrez pas votre VPN avec la GUI (donc en partant de 0) il faudra modifier des fichiers .json à la main dans "/opt/wgui/db/"
A noter qu'un utilisateur à créé un script d'import automatisé (non testé).
Certains paramètres pourront être recréé via la GUI, d'autres devront être modifié à la main (pensez a sauvegarder votre wg0.conf et fichiers clients), exemples :
- Les clefs du serveur se trouvent dans "/opt/wgui/db/server/keypair.json"
- il est possible de recréer les utilisateur via la GUI, mais si vous spécifiez la "PublicKey" et "PresharedKey" alors il faudra renseigner la "private_key" dans "/opt/wgui/db/clients/client.json
vhost nginx
server {
listen 80;
listen [::]:80;
server_name wireguard.exemple.net;
# return 404;
return 301 https://$host$request_uri;
}
server {
server_name wireguard.exemple.net;
error_page 403 https://wireguard.exemple.net;
location / {
#proxy_set_header Upgrade $http_upgrade;
#proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
#proxy_set_header X-Forwarded-Host $host;
#proxy_set_header X-Forwarded-Port $server_port;
proxy_pass http://IP_SERVEUR_WEB:5000;
# proxy_pass https://IP_SERVEUR_WEB:PORT; #Alternatif pour redirection sur https
#proxy_buffering off; #activer pour désactiver le "buffering"
}
listen [::]:443 ssl; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/wireguard.exemple.net/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/wireguard.exemple.net/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
add_header Strict-Transport-Security "max-age=31536000" always;
ssl_trusted_certificate /etc/letsencrypt/live/wireguard.exemple.net/chain.pem;
#ssl_stapling on;
#ssl_stapling_verify on;
server_tokens off;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
}