
РЕДАКТИРОВАТЬ: Я уже попадал в такую ситуацию, но тогда это было связано с Apache. Но на этот раз я используюNodeJS, поэтому старый ответ не помогает.
Я использую Apache как веб-сервер NodeJS (на порту 80) на Windows 7. Я хочу получить доступ к веб-серверу через свой мобильный телефон, который использует тот же Wi-Fi-роутер, что и мой ПК локально.
http://localhost
работает с ПК.
Но я не могу зайти http://192.168.1.4
ни с телефона, ни даже с компьютера.
ipconfig /all
на моем компьютере указан мой IP-адрес как 192.168.1.4
Wireless LAN adapter Wireless Network Connection:
IPv4 Address. . . . . . . . . . . : 192.168.1.4(Preferred)
Я могу пропинговать (внутренний) IP-адрес моего телефона [192.168.1.5] с ПК и наоборот, я могу пропинговать мой ПК [192.168.1.4] с моего телефона.
Так почему же я не могу получить доступ http://192.168.1.4
с телефона? (или ПК)
Брандмауэр отключен.
решение1
Я указал имя хоста при прослушивании на сервере.
сервер.listen(80, процесс.env.OPENSHIFT_NODEJS_IP || процесс.env.IP || '127.0.0.1')
решение2
Необходимо добавить
Listen 192.168.1.4:80
в httpd.conf Apache
решение3
Этот код исправил проблему для меня (добавление локального IP:192.168.1.7 в моем случае с localhost)
var app = express();
app.listen(3000,'192.168.1.7' || 'localhost',function() {
console.log('Application worker ' + process.pid + ' started...');
}
);
Таким образом, вы можете получить доступ к серверу изhttp://localhost:3000илиhttp://192.168.1.7:3000(мой локальный IP-адрес 192.168.1.7)