sql >> Database >  >> NoSQL >> MongoDB

Probleem met toegang tot Mongodb op Amazon EC2

Denk goed na voordat je dit doet. Als u de poorten opent, zorg er dan voor dat u de IP-nummers beperkt die er toegang toe hebben, anders heeft iedereen toegang tot uw database. U kunt authenticatie inschakelen in MongoDB, maar het is niet bijzonder veilig, alleen een gebruikersnaam en wachtwoord. U moet uw database niet openstellen voor internet, dat is geen goed idee.

Een betere manier dan het openen van poorten in de EC2-firewall is om een ​​SSH-tunnel te openen en de poort door te sturen, dit zorgt ervoor dat alleen jij toegang hebt tot de database, en alleen als de SSH-tunnel actief is.

Open een nieuwe terminal en voer dit commando uit (vervang gebruiker en host door de gebruiker die je gebruikt bij SSH'en naar je server en de naam van de server):

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

De opdracht stuurt de poort 27017 op uw computer door naar dezelfde poort op de server. Om verbinding te maken met de MongoDB-instantie, voert u eenvoudig mongo uit in een terminal (als dat niet werkt, probeer dan mongo --host 127.0.0.1 of zelfs mongo --host 127.0.0.1 --port 27017 ).

Als u MongoDB op uw lokale computer uitvoert, moet u de eerste poort wijzigen, omdat de lokale server deze al gebruikt. Voer in dat geval dit commando uit:

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

en maak vervolgens verbinding met

mongo --port 27018

(eventueel toevoegen van --host 127.0.0.1 als het niet werkt).

Als u klaar bent met het werken met de database, verlaat u mongo en druk op ctrl-C in de terminal met het SSH-commando.



  1. Hoe kom je bij het Mongo shell-geschiedenisbestand of de hele geschiedenis op Windows

  2. mongo db docker-afbeeldingsverificatie mislukt

  3. Het geheugengebruik analyseren en optimaliseren in Redis

  4. Go JSON-decodering is erg traag. Wat zou een betere manier zijn om het te doen?