No se puede acceder a localhost después de la actualización a Mavericks, pero se puede acceder a 127.0.0.1

Me encontré con esta pregunta , pero no fue resuelta (y no ha sido tocada en mucho time). No estoy seguro de si mi problema es el mismo, pero no tengo suficiente reputación aquí para comentar esa pregunta.

Acabo de actualizar de Snow Leopard (10.6.8) a Mavericks. Antes de la actualización, pude visitar http://localhost ; pero ahora no puedo Revisé el file de mi host, y se veía bien (pero esta no es mi área de especialización):

 127.0.0.1 localhost 255.255.255.255 broadcasthost ::1 localhost fe80::1%lo0 localhost 

Todavía puedo visitar 127.0.0.1. Esto no sería necesariamente un gran problema, pero estoy tratando de usar Sinatra en Thin, que tampoco funciona después de la actualización del sistema operativo (estaba trabajando en mi configuration de Snow Leopard), así que me temo que puede haber un problema subyacente eso podría tener otros efectos negativos. Gracias.

  • Alias ​​\ icons de enlace simbólico
  • Cómo hacer que Mavericks Calendar se sincronice con Microsoft Exchange
  • ¿Cómo eliminar el estante del muelle de Mavericks?
  • Usando unidad externa NTFS
  • Barra de notificación de movimiento OS X Mavericks
  • Las aplicaciones no se abrirán, publicarán la actualización OS X Mavericks
  • Duplicación de iPhone 5 a MacBook Pro sin Airplay
  • Cuando hago clic en Instalar aplicación, no pasa nada
  • 3 Solutions collect form web for “No se puede acceder a localhost después de la actualización a Mavericks, pero se puede acceder a 127.0.0.1”

    Todo parece estar funcionando ahora. Puedo acceder a localhost nuevamente, y mi aplicación ejecuta Sinatra en Thin como era antes. Gracias a bmike , hice un poco de búsqueda sobre por qué mi loopback era inalcanzable y me encontré con este artículo . hosts.old mi antiguo file de hosts ( /etc/hosts ) a hosts.old e hice uno nuevo en su lugar que simplemente contenía:

     ## # Host Database # # localhost is used to configure the loopback interface # when the system is booting. Do not change this entry. ## 127.0.0.1 localhost 255.255.255.255 broadcasthost ::1 localhost fe80::1%lo0 localhost 

    Luego, ejecuté dscacheutil -flushcache y dscacheutil -flushcache mi computadora *. Después de eso, las cosas parecen estar funcionando normalmente de nuevo. Solo puedo adivinar que algo extraño sucedió con mi antiguo file de hosts. También tomé el consejo de JakeGould y volé el ruby 2.0.0 (todavía tenía ruby ​​1.8.7 – no puedes desinstalar ruby ​​por completo en un mac, ya que usa ruby ​​para otras cosas) y rvm y reinstalé esos; pero no estoy seguro de que eso tenga algo que ver con mi éxito, ya que todavía tenía los mismos problemas hasta que seguí los pasos descritos anteriormente.

    Nota: el file de hosts anterior contiene prácticamente lo mismo que digo que el file de mi server contenía antes (vea la pregunta original); sin embargo, había otras cosas en mi file de hosts originales que no compartí en mi pregunta (solo compartí lo que pensé que era la parte relevante), así que tal vez algo se puso de moda cuando me actualicé, ojalá lo supiera con certeza.

    * El reinicio probablemente no es necesario. De hecho, tuve este problema después de configurar un nuevo usuario desde una unidad de respaldo en mi máquina en el trabajo (que está ejecutando Mountain Lion) y (hoy) seguí los mismos pasos anteriores (sin quitar el Ruby y reiniciar la máquina), y trabajó. Esto me lleva a creer que el corazón del problema era un file borked /etc/hosts .

    No tengo tales problemas para conectarme a un server web cuando en realidad está escuchando en el puerto 80.

    Si no tiene un server web ejecutándose, esto es lo que debe get del terminal para mostrar que la resolución del nombre está funcionando en todas las interfaces de networking antes de que el telnet deje de conectarse al puerto 80:

     mac:~ me$ telnet localhost 80 Trying ::1... telnet: connect to address ::1: Connection refused Trying 127.0.0.1... telnet: connect to address 127.0.0.1: Connection refused Trying fe80::1... telnet: connect to address fe80::1: Connection refused telnet: Unable to connect to remote host 

    Si obtiene resultados diferentes, usaría scutil para determinar la accesibilidad para su destino de networking:

     mac:~ me$ scutil -r localhost Reachable,Local Address mac:~ me$ scutil -r loopback Reachable mac:~ me$ scutil -r 127.0.0.1 Reachable,Local Address 

    Podría valer la pena verificar si tiene LittleSnitch u otro firewall que tenga reglas que bloqueen el acceso a la networking o reinicie en Modo a testing de fallas para probar si algunas extensiones del kernel u otro conflicto impiden la accesibilidad pnetworkingeterminada y el acceso a los puertos locales. Además, seguramente querrá comprobar el server web que esté ejecutando para asegurarse de que realmente escucha el puerto 80:

     mac:~ me$ sudo lsof -i :80 | egrep "PID|LISTEN" Password: COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME httpd 1645 root 8u IPv6 0x513627eaa81c8205 0t0 TCP *:http (LISTEN) httpd 15851 _www 8u IPv6 0x513627eaa81c8205 0t0 TCP *:http (LISTEN) httpd 72969 _www 8u IPv6 0x513627eaa81c8205 0t0 TCP *:http (LISTEN) 

    Además, salga de todos los browseres web o prepárese para filtrar esas conexiones de networking desde el command lsof anterior, ya que muestra todas las conexiones a través del puerto 80.

    Mavericks (OS X 10.9) usa Ruby 2.0. No está claro en qué estaba usando bajo Snow Leopard (OS X 10.6.8) pero tal vez un cambio importante en la versión rompió algo? En mi experiencia, las actualizaciones de Ruby nunca son compatibles con versiones anteriores y -en mi humilde opinión- son muy frustrantes de mantener desde el punto de vista del administrador del sistema por razones como esta.

    Recomendaría volver a instalar las gems de Ruby que tenga en su lugar y volver a intentarlo.

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).