Come posso fare un HTTP POST su un server che vive in un'istanza Amazon ec2 su ssh?


0

Ho un server in ascolto su http://0.0.0.0:8000 , tuttavia vive in un'istanza di Amazon.

Come posso fare una richiesta POST HTTP da un computer esterno (usando curl)? Cioè, vorrei usare il server in ascolto come API. Questo è diverso dagli altri casi perché mi piacerebbe farlo su SSH.


1
Grazie per l'aiuto Attie, sì, questo è quello che volevo dire
anon

" ascolto attivo0.0.0.0:8000 " significa " ascolto su tutte le interfacce ", quindi puoi comunicare con esso sul suo IP pubblico? (lo stesso che useresti per SSH)
Attie

Sì, penso così Attie, quando avvio il server dice solo: no port specified, defaulting to port 8000che vive nell'istanza ec2. Vorrei fare il " curl -XPOSTda una macchina esterna"
anon

Presumo che tu sia in grado di usare SSH? Hai provato a utilizzare curlcon lo stesso IP che hai usato per SSH?
Attie

No, potresti fornire un esempio di attie?
anon

Risposte:


0

Se si desidera eseguire l'istanza EC2 e eseguire curl il tunneling dell'output tramite ssh, provare quanto segue:

ssh ${USERNAME}@${EC2_INSTANCE_IP} curl -s http://localhost:8000/

Dovresti vedere il risultato direttamente sul terminale ( -sinibirà curll'uscita).

Puoi eseguire qualsiasi comando come questo, non c'è niente di speciale per curl.

Se funziona, è possibile modificare i curlparametri da utilizzare -X POSTe / o -d, insieme all'endpoint corretto.


Ricorda però che si 0.0.0.0tratta di un indirizzo " speciale " che in realtà significa " ascolto su tutte le interfacce " ... Quindi, a meno che non configuri correttamente le regole in entrata, chiunque può comunque fare curl http://${EC2_INSTANCE_IP}:8000/e colpire il tuo server.


Hai un riferimento su come configurarlo nell'istanza amazon? Mi sono un Impossibile connettersi all'istanza, scaduta
anon

Potresti fare un'altra domanda, in particolare sulle regole in entrata per EC2 ... far funzionare prima l'SSH di base, quindi tornare e provare a " utilizzare curlsu SSH " in seguito.
Attie

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.