Why Flask on macOS Port 5000 Fails in Safari and How to Fix It
Developers running a Flask app on macOS may find that navigating to http://localhost:5000 in Safari returns nothing instead of their app. This happens because macOS resolves 'localhost' to the IPv6 address ::1 rather than the IPv4 address 127.0.0.1, a preference driven by the OS favouring modern IPv6. Apple's AirPlay service happens to occupy port 5000 on the IPv6 loopback address ::1, effectively intercepting the request before it reaches Flask. Flask's built-in development server, by default, binds only to 127.0.0.1 — the IPv4 loopback — not to ::1. Entering 127.0.0.1:5000 directly into the browser bypasses the conflict and successfully reaches the Flask application.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.
Discussion (0)
Log in to join the discussion and vote.
Log in