ci: corrige le déploiement FTPS (CN mismatch → ssl:check-hostname no)
All checks were successful
Deploy production / build-deploy (push) Successful in 1m48s
All checks were successful
Deploy production / build-deploy (push) Successful in 1m48s
Cert Plesk valide (CA) mais CN != FTP_HOST. On conserve le chiffrement forcé et la validation de chaîne, on tolère le nom d'hôte (choix validé par l'utilisateur).
This commit is contained in:
@@ -32,13 +32,16 @@ jobs:
|
||||
- name: Deploy via FTPS (Plesk)
|
||||
run: |
|
||||
apt-get update && apt-get install -y lftp
|
||||
# FTPS forcé (jamais de fallback en clair) + vérification du certificat (CA système).
|
||||
# Si le déploiement échoue sur une erreur de certificat, c'est que le cert FTP ne
|
||||
# correspond pas à FTP_HOST → préférer SFTP (clé SSH) plutôt que de désactiver la vérif.
|
||||
# FTPS forcé (jamais de transport en clair) + validation du certificat par la CA.
|
||||
# ssl:check-hostname no : le cert Plesk est valide (signé CA) mais son CN ne correspond
|
||||
# pas à FTP_HOST (alias/IP) → on garde la validation de chaîne, on tolère le nom d'hôte.
|
||||
# Bien plus sûr que `verify-certificate no` (qui accepterait n'importe quel cert).
|
||||
# Alternative sans compromis : SFTP par clé SSH (sftp://) — à câbler si souhaité.
|
||||
lftp -e "
|
||||
set ftp:ssl-force true;
|
||||
set ftp:ssl-protect-data true;
|
||||
set ssl:verify-certificate yes;
|
||||
set ssl:check-hostname no;
|
||||
open ${{ secrets.FTP_HOST }};
|
||||
user ${{ secrets.FTP_USER }} ${{ secrets.FTP_PASSWORD }};
|
||||
mirror --reverse --delete --verbose dist/ ${{ secrets.FTP_TARGET_DIR }};
|
||||
|
||||
Reference in New Issue
Block a user