sql >> Database teknologi >  >> NoSQL >> MongoDB

Problem med adgang til Mongodb på Amazon EC2

Tænk dig grundigt om, før du gør dette. Hvis du åbner portene, skal du sørge for at begrænse de IP-numre, der kan få adgang til det, ellers vil alle kunne få adgang til din database. Du kan aktivere godkendelse i MongoDB, men det er ikke specielt sikkert, kun et brugernavn og en adgangskode. Du bør ikke have din database åben til internettet, det er ikke en god idé.

En bedre måde end at åbne porte i EC2-firewallen er at åbne en SSH-tunnel og videresende porten, dette sikrer, at kun du kan få adgang til databasen, og kun mens SSH-tunnelen er aktiv.

Åbn en ny terminal og kør denne kommando (erstat bruger og vært med den bruger, du bruger, når du SSH'er til din server og navnet på serveren):

ssh [email protected] -N -L 27017:127.0.0.1:27017

Kommandoen vil videresende port 27017 på din computer til den samme port på serveren. For at oprette forbindelse til MongoDB-instansen skal du blot køre mongo i en terminal (hvis det ikke virker, prøv mongo --host 127.0.0.1 eller endda mongo --host 127.0.0.1 --port 27017 ).

Hvis du kører MongoDB på din lokale maskine, bliver du nødt til at ændre den første port, da den lokale server allerede bruger den. I så fald skal du køre denne kommando i stedet:

ssh [email protected] -N -L 27018:127.0.0.1:27017

og derefter oprette forbindelse til

mongo --port 27018

(muligvis tilføjer --host 127.0.0.1 hvis det ikke virker).

Når du er færdig med at arbejde med databasen, skal du afslutte mongo og tryk ctrl-C i terminalen med SSH-kommandoen.



  1. Mongoose grænse/offset og optælling forespørgsel

  2. Sammenkædningsfejl ved opbygning af c++-projekt ved hjælp af mongo-cxx-driver

  3. Hvad er forskellen mellem HSET og HMSET metode i redis database

  4. Få en liste over indekser i MongoDB