FTP Deployment Troubleshooting Guide¶
Common FTP Connection Issues¶
Error: ERR_TLS_CERT_ALTNAME_INVALID (IP vs hostname mismatch)¶
This error means you are connecting via IP address but Hostinger's FTPS certificate only covers DNS names (*.hstgr.io, hstgr.io). TLS validation fails because IPs are not in the cert's Subject Alternative Names.
Fix: Use the FTP hostname instead of the IP in HOSTINGER_FTP_SERVER:
- Log in to Hostinger hPanel
- Go to FTP Accounts or Plan Details
- Find the FTP hostname (e.g.
ftp.yourdomain.comorsrv123.hostinger.com) - In GitHub → Settings → Secrets and variables → Actions
- Edit
HOSTINGER_FTP_SERVERand replace the IP with the hostname (noftp://, no port)
If you see both an IP and a hostname in hPanel, use the hostname.
Error: connect ETIMEDOUT ***:21¶
This error indicates a connection timeout on port 21 (standard FTP port).
Solutions¶
Solution 1: Use GitHub Actions (Recommended)¶
The easiest way to deploy is through GitHub Actions, which handles FTP deployment automatically:
-
Push your changes to GitHub:
-
GitHub Actions will automatically:
- Build the frontend
- Deploy to Hostinger via FTPS
-
Handle all FTP connection details
-
Check deployment status:
- Go to:
https://github.com/your-username/pcb_stackup_generator/actions - View the deployment workflow logs
Solution 2: Verify FTP Credentials¶
If deploying manually, verify your FTP credentials in Hostinger hPanel:
- Log in to Hostinger hPanel
- Go to FTP Accounts
- Verify:
- FTP Server/Host: Usually
ftp.yourdomain.comor an IP address - FTP Username: Your FTP username
- FTP Password: Your FTP password
- Port: Usually 21 for FTP, 990 for FTPS, 22 for SFTP
Solution 3: Try Different Protocols¶
Hostinger may support different protocols. Try these in order:
Option A: FTPS (FTP over SSL) - Port 990¶
Option B: SFTP (SSH File Transfer) - Port 22¶
Option C: FTP (Plain) - Port 21¶
Solution 4: Check Firewall/Network¶
Your network or firewall might be blocking FTP ports:
# Test FTP port connectivity
Test-NetConnection -ComputerName your-ftp-server.com -Port 21
# Test FTPS port
Test-NetConnection -ComputerName your-ftp-server.com -Port 990
# Test SFTP port
Test-NetConnection -ComputerName your-ftp-server.com -Port 22
If all ports timeout: - Try from a different network (mobile hotspot) - Check if your ISP blocks FTP ports - Contact your network administrator
Solution 5: Use Hostinger File Manager (Alternative)¶
If FTP doesn't work, use Hostinger's web-based file manager:
- Log in to Hostinger hPanel
- Go to File Manager
- Navigate to
public_html/ - Upload files manually via web interface
Solution 6: Contact Hostinger Support¶
If nothing works, contact Hostinger support:
- Live Chat: Available in hPanel
- Email: support@hostinger.com
- Ask them:
- "What FTP server address should I use?"
- "What port should I use for FTP/FTPS/SFTP?"
- "Is FTP enabled for my account?"
- "My FTP connection times out on port 21"
Quick Diagnostic Checklist¶
- Verified FTP credentials in hPanel
- Tried FTPS (port 990) instead of FTP (port 21)
- Tried SFTP (port 22) instead of FTP
- Tested port connectivity with
Test-NetConnection - Tried from different network
- Checked firewall settings
- Used GitHub Actions for automatic deployment
Recommended Deployment Method¶
Use GitHub Actions - It's the most reliable method:
- Push code to GitHub
- GitHub Actions automatically builds and deploys
- No manual FTP configuration needed
- Deployment logs available in GitHub
The workflow is configured in .github/workflows/deploy-hostinger.yml and:
- Protocol: FTPS
- Security: Strict (requires valid TLS cert; use hostname, not IP)
- Timeout: 300 seconds
- State tracking: Prevents duplicate uploads
If GitHub Actions FTP Deployment Fails¶
- Check GitHub Secrets:
- Go to:
Settings → Secrets and variables → Actions -
Verify these secrets are set correctly:
HOSTINGER_FTP_SERVER- Use the hostname (e.g.ftp.yourdomain.com), not the IP. Using an IP causesERR_TLS_CERT_ALTNAME_INVALID.HOSTINGER_FTP_USERNAME- Your FTP usernameHOSTINGER_FTP_PASSWORD- Your FTP password
-
Verify FTP Settings in Hostinger:
- Log in to Hostinger hPanel
- Go to FTP Accounts
-
Compare the server address, username, and password with your GitHub secrets
-
Check GitHub Actions Logs:
- Go to:
Actionstab in your GitHub repository - Click on the failed workflow run
- Look for FTP connection errors in the logs
- The workflow will automatically retry with FTP if FTPS fails
Next Steps¶
- If using GitHub Actions: Just push to GitHub and monitor the Actions tab
- If deploying manually: Try SFTP (port 22) or contact Hostinger support
- If urgent: Use Hostinger File Manager for manual upload