Comparez les prix des domaines et des services informatiques des vendeurs du monde entier

Comment envoyer une demande à une autre adresse IP en utilisant Nginx

Je suis nouveau à B. nginx Et essayer de faire quelque chose (Et je ne peux pas), Ce que je ne sais pas s'il est possible d'y parvenir avec nginx. Mon nginx Personnalisé en utilisant SSL, Et lorsque le client l'appelle, il transmet également l'adresse IP du serveur réel sur lequel la demande doit être traitée et qui enverra la réponse.

Le serveur ascendant est sur un autre serveur, où je ne sais pas quelle adresse IP sera. Par conséquent, la demande transmet l'adresse IP cible et l'adresse IP cible a un port fonctionnant sur le port. 80. L'adresse IP en amont n'a pas URI / gotoserver, C'est juste à dire nginx, Ce qu'il doit obtenir le paramètre Nom et transférer l'appel sur le serveur correspondant.

#this is where nginix is running with SSL on
server
{
server_name myserver.com;
listen 443;
ssl on;
ssl_certificate pathtocert;
ssl_certificate_ke keypath ;
#I want nginix to route the call ip x.x.x.x
# which is being passed as request parameter named 'name'
location /gotoserver?name=x.x.x.x
{
set dserver $arg_name
proxy_pass [url=http://dserver:80]http://dserver:80[/url]

}
}

Avec la configuration ci-dessus, il frappe le serveur, mais il ressemble comme s'il transmet / gotoserver Flux ascendant, et ce serveur ne sait pas à ce sujet URI. Si je codifie fort IP dans proxy_pass, Ça marche

location /
{
proxy_pass [url=http://X.X.X.X:80]http://X.X.X.X:80[/url]
}

Merci pour des conseils sur la manière de le faire fonctionner, et je m'excuse si j'ai raté quelques détails.
Invité:

Dominique

Confirmation de:

nginx correspond seulement à normalisé

$request_uri

dans

location

Directives. Par conséquent, il ne peut pas correspondre aux arguments de la requête. Essayez ce qui suit:

location /gotoserver {
proxy_pass $arg_name:80;
}

Cependant, cette approche n'est pas optimale, car il n'y a pas de confirmation sur

name

Argument, et il peut y avoir beaucoup de valeurs non valides. Il peut également y avoir des problèmes de sécurité.

Pour répondre aux questions, connectez-vous ou registre