J'essaie de proxyer un javascript et une image hébergés par une partie externe avec nginx.
Je fais tourner mon site en https et ils n'offrent les fichiers que par http, j'ai déjà eu des contacts avec eux à ce sujet mais ils ne peuvent pas donner de délai quand ils vont résoudre ce problème.
Donc non, j'essaie de proxy_pass
ces fichiers dans ma configuration nginx j'ai les blocs d'emplacement suivants
location /blogcounter/image {
#rewrite ^/blogcounter(.*) /$1 break;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_pass http://widget.external-domain.tld/$uri$is_args?$args;
}
location /blogcounter.js {
#rewrite ^/blogcounter(.*) /$1 break;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_pass http://widget.external-domain.tld/$uri$is_args?$args;
}
Le widget que je veux sur ma page est.
<a title="external-domain.tld" href="http://external-domain.tld/" id="hr-random_id" target="_parent">
<img src="https://my-domain.tld/blogcounter/image?image=red_s&blog_id=random_id" alt="alt-text" border="0">
</a>
<script type="text/javascript">
var hr_currentTime = new Date();
var hr_timestamp = Date.parse(hr_currentTime.getMonth() + 1 + "/" + hr_currentTime.getDate() + "/" + hr_currentTime.getFullYear()) / 1000;
document.write('<script type="text/javascript" src="https://my-domain.tld/blogcounter.js?blog_id=random_id×tamp=' + hr_timestamp +'"></script>');
</script>
Je veux donc que la demande du client passe par mon serveur qui a https, ce qui fait que mon serveur demande le fichier au serveur externe et le renvoie au client. Actuellement, cela ne fonctionne pas encore, je vois la demande dans le journal d'accès qui montre également un code de statut 200, mais ni l'image ni le fichier javascript ne sont renvoyés. Quelqu'un peut-il m'aider à comprendre ce que je fais mal ?