I just tried to reach my external IP from a friends house and it worked. But when I try to reach it locally at my house the connection times out.
Então, o seu problema está no seu roteador não permitindo hairpinning . A melhor explicação que tenho visto é no wiki do Mikrotik , que também contém uma explicação de como contornar este problema , se você tiver acesso ao seu roteador e permitir o controle do seu sistema firewall / NAT. Mas esta solução alternativa tem o defeito de que seu servidor Web verá conexões all como vindas do seu roteador, para que o controle usual dos IPs de conexão (por razões de segurança ou estatísticas) se torne impossível.
Existem roteadores que permitem hairpinning, sendo um deles o Edgemax da Infiniti; uma pesquisa no Google permitirá que você encontre alguns. Incidentalmente, esta é uma das razões pelas quais é uma má idéia (além da segurança) desenvolver sites na sua própria LAN, a alternativa é alugar um VPS.