J'ai mis en place un proxy inverse pour permettre l'accès à notre logiciel CD via HTTPS.
Voici ma configuration :
server {
listen 443;
server_name build.example.com;
ssl_certificate /etc/ssl/certs/example.com.crt;
ssl_certificate_key /etc/ssl/private/example.com.key;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/example.access.log;
location / {
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_pass http://localhost:7777;
proxy_read_timeout 90;
proxy_redirect http://localhost:7777 https://build.example.com;
}
location /socket.io/ {
proxy_pass http://localhost:7777;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
J'ai maintenant mis en place un webhook GitHub pour communiquer avec notre CD lorsque nous poussons de nouveaux commits vers GitHub. Mais GitHub reçoit une réponse 301 lorsqu'il essaie d'invoquer le webhook.
La demande de /api/github/webhook
reçoit une réponse de redirection 301 vers /api/github/webhook/
et GitHub n'aime pas ça.
Je ne comprends pas pourquoi nginx envoie cette réponse. Comment puis-je faire en sorte qu'il envoie la demande à l'application CD qui fait l'objet d'une procuration ?