Dans une définition de service systemd, gardez toute l'affectation d'environnement à l'intérieur des guillemets du fichier unit :

[Service]
Environment="NO_PROXY=localhost,127.0.0.1,::1,intranet.example"

Les virgules font partie de la valeur de NO_PROXY. systemd retire les guillemets environnants pendant la construction de l'environnement ; le client réseau reçoit la liste puis interprète sa syntaxe de contournement. Commencer un autre guillemet au milieu d'un élément déjà entre guillemets ne crée pas une couche de citation du shell indépendante.

Les fichiers unit ne sont pas des scripts shell. Une instruction export ou un nom de variable familier ne fournit pas d'expansion du shell dans une directive Environment=.

  1. Inspectez localement la configuration effective du service, en masquant les secrets.
  2. Après l'avoir modifiée, rechargez les définitions de service et utilisez la procédure de redémarrage habituelle du service concerné. Planifiez l'impact sur le travail en cours, en particulier pour un démon d'images partagé.
  3. Confirmez que la valeur prévue parvient au nouveau processus. Recharger un fichier unit seul ne peut pas remplacer l'environnement d'un processus existant.

Ensuite seulement, examinez la correspondance de domaine ou de sous-réseau du client. Une liste qui fonctionne dans un terminal n'a peut-être jamais atteint le service sous la même forme.

Articles similaires