Some engineers treat the Neo4j Port like a mystery door—they know it’s there, it works, but nobody’s quite sure who holds the key. The moment you try connecting your graph database to a web service or CI pipeline, the question hits you: which port, which protocol, and which permissions actually make it safe?
Neo4j uses ports to separate concerns: Bolt for client queries, HTTPS for the browser interface, and sometimes custom endpoints for APIs or integrations. Understanding how each port functions isn’t just trivia, it’s what stands between a clean data flow and a messy access-control incident. Modern workflows don’t stop at the database; they connect through identity-aware proxies, IAM policies, and audit layers that demand every open port to play by consistent rules.
When configuring Neo4j Port access, start with identification. Each network boundary should recognize users through OIDC or an equivalent identity provider such as Okta or Azure AD. Once authenticated, permissions can flow logically into Neo4j’s role-based structure: read-only roles for analysts, write privileges for ingestion modules, and full administrative rights strictly limited to automation or CI jobs. If the environment uses AWS, mapping IAM roles through a bastion or proxy reduces exposure while preserving traceability across requests.
The most common failure pattern is leaving a Bolt port (7687) accessible from everywhere. Lock it down to known subnets and route all browser traffic (7474 or 7473) through HTTPS with valid TLS certificates. Rotate secrets often and, if possible, automate them. This minimizes surprises, especially when new agents or AI tools start scanning graph data for schema optimization.
Quick answer:
Neo4j Port defaults are 7687 for Bolt and 7474 (or 7473 for HTTPS) for web access. Secure them with TLS, restrict inbound traffic, and route authentication through a trusted identity layer.