Что связывает сервер Rails с 0.0.0.0?
Я использую "www.xip.io" в качестве шаблона DNS для тестирования на разных устройствах. Я установил свой основной домен на свой IP-адрес. Я запускаю сервер rails с bundle exec rails server
, и я иду здесь www.<ip_address>.xip.io:3000
и замечаю, что мой сервер rails не отвечает.
Однако, если я привяжу сервер rails к 0.0.0.0, так что bundle exec rails server -b 0.0.0.0
, он работает! Я не понимаю, что 0.0.0.0 говорит моему серверу, что это работает. Может ли кто-нибудь понять это?
Ответы
Ответ 1
Связывание с 0.0.0.0
сообщает службе привязать к все IP-адреса на вашем компьютере. Сервер Rails, используемый для этого по умолчанию, но с 4.2 изменен на привязку только к localhost
.
В принципе, если он привязан только к localhost
, он будет отвечать только локально либо на localhost
, либо 127.0.0.1
, который не может работать через службу DNS, поскольку это не общедоступный IP-адрес.
Когда вы используете 0.0.0.0
, он связывается с localhost и с вашим маршрутизируемым IP-адресом.
Ответ 2
Я думаю, вам нужно использовать привязку, когда вы находитесь в гостевой/виртуальной машине.