Message:
You might receive the below message when connecting to your Aura DB instance from a Neo4j browser:
Could not perform discovery. No routing servers available.
Known routing table: RoutingTable[database=default database, expirationTime=0, currentTime=xxxxxxx, routers=[], readers=[], writers=[]]
Causes:
- Internet browser blocking resources.
- This error arises mainly from the client (internet) browser used to connect to the AuraDB Instance.
Internet browser applications like Google Chrome, Microsoft Edge etc. - The internet browser might block one or more components required for the connection's smooth operation.
- This error arises mainly from the client (internet) browser used to connect to the AuraDB Instance.
- Connection blocked by the computer/network.
- The Neo4j browser connects to ports 443, 7474 and 7687 in the Aura environment.
- If your computer or network has restrictions on outgoing connections to any of these ports, you won't be able to connect to Aura instances.
- Account temporarily locked out due to multiple failed login attempts
- When there are numerous failed connection attempts for an AuraDB Instance user (default for Aura DB is neo4j), new logins for that user are blocked for 5 seconds.
- The locked-out user will not be able to log in until the lock period expires, even if correct credentials are provided. This is due to Neo4j's inbuilt dbms.security.auth_lock_time and dbms.security.auth_max_failed_attempts kicking in and not something specific to Aura DB.
- A 5-second block might not seem relevant and as an apparent cause when you try connecting from the Neo4j browser manually.
- But suppose you have an application running in the background, repeatedly attempting to connect to the DB instance with invalid credentials within seconds. In that case, it will constantly fail authentication and, in turn, keep blocking new logins.
- This login block triggered by your application will impact browser login attempts, despite using the correct credentials in the browser.
- The instance is Paused or is unavailable.
Fixes:
1. Internet browser blocking resources
- Ensure you are using one of the supported web browsers.
- Disable any ad, popup or tracking blockers for the below URLs:
- Clear your internet browser's cache and cookies and try rerunning the queries
- Connecting to AuraDB from a different internet browser could also help, depending on the security and privacy settings of the latter.
The browser's console logs would usually highlight any such resource being blocked.
Below is an example where Brave browser's shields caused the issue by blocking a vital resource, citing CORS.
Disable Shields for https://browser.neo4j.io/ fixed the issue here:
2. Connection blocked by the computer/network.
- As a quick check, try connecting from a different device. This will let you know if your device's firewall is blocking the connection.
- You could also test from a different network to isolate the issue to the network.
- Run the following commands from your device to check the connectivity to the required ports after replacing <DBID> with your actual DBID:
- On Linux/macOS use netcat
-
nc -vz <DBID>.databases.neo4j.io 7687
nc -vz <DBID>.databases.neo4j.io 7474
nc -vz <DBID>.databases.neo4j.io 443
-
- On Windows, you can get netcat here (https://nmap.org/download.html ) or use PowerShell
-
Test-NetConnection <DBID>.databases.neo4j.io -Port 7687
Test-NetConnection <DBID>.databases.neo4j.io -Port 7474
Test-NetConnection <DBID>.databases.neo4j.io -Port 443
-
- On Linux/macOS use netcat
- If one or more of the ports are inaccessible, please make changes to your local computer's firewall or, if applicable, contact your IT team to allow outgoing connections to ports 443, 7687, and 7474 for <DBID>.databases.neo4j.io
3. Account temporarily locked
How can I check if this is the root cause?
Using Cypher-shell:
- Connection attempts from cypher-shell will fail with the message 'The client has provided incorrect authentication details too many times in a row.'
Using Neo4j browser:
- When you are facing the issue, open the web browser's developer tools and navigate to the 'Network' section.
- Try connecting to the Aura instance again.
- You'll be able to see log entries with the name <DBID>.databases.neo4j.io
- Click the first entry in the network logs with this name and then navigate to the 'Messages' tab.
- Click the last 'Binary Message'. You will be able to see the message "ClientError.Security.AuthenticationRateLimit.message.The client has provided incorrect authentication details too many times in a row..."
How to fix this issue?
- If you have other applications connecting to the same Aura DB instance, check if they have authenticated successfully and can run queries successfully.
- Stop all applications that are failing to connect to the DB instance. If the application cannot be stopped entirely for some reason, at least stop the connection attempts. You will not be able to establish a new connection if the failed connection attempts continue.
- Wait for 10 seconds and try connecting to the AuraDB Instance using the Neo4j browser and the credentials used by your application. If you receive an authentication failure message, it confirms the application was using invalid credentials.
- Retry the connection 10 seconds later, but use the correct credentials this time. You should be able to connect now.
If you wish to change the password of an AuraDB Instance account after a successful login, please check the How to change a user's password for an AuraDB Instance Article.
If you don't have the correct credentials, the How to recover a lost password for an AuraDB Instance article will help.
4. The instance is Paused or unavailable.
- Login to the Aura Console and ensure the instance is available and running.
- If it has been paused, resume it and wait till it reaches the 'Running' state before connecting again.
Comments
0 comments
Please sign in to leave a comment.