У меня есть местный веб-сайт под названием http://localhost.example.com но теперь, когда я пытаюсь открыть его в веб-браузере, он перенаправляет меня на http://www.example.com. Раньше это работало. Что я изменил в системе, так это конфигурацию AWS CLI и локальную конфигурацию Bitbucket, чтобы использовать две разные учетные записи. Ничего более. Считаю, что изменения неактуальны. Не так ли?
Вся информация и файлы, которые я предоставляю, получены с локальной рабочей станции. Я использую OS X 10.12 (бета 2).
Соответствующая часть / etc / hosts это:
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
127.0.0.1 localhost.example.com
127.0.0.1 babydiapi.example.com
127.0.0.1 localhost.mi.example.com
127.0.0.1 localhost.qr.example.com
127.0.0.1 localhost.pay.example.com
127.0.0.1 playground.com
127.0.0.1 payments.com
127.0.0.1 localhost.comunidad.example.com
198.58.110.224 web1.example.com
198.58.115.115 web2.example.com
45.56.67.40 web3.example.com
Но я делаю ping localhost.example.com
Я получаю это:
PING localhost.example.com (104.200.16.137): 56 data bytes
64 bytes from 104.200.16.137: icmp_seq=0 ttl=49 time=166.894 ms
Я пытался сделать ping http://localhost.example.com
но это не сработало:
ping: cannot resolve http://localhost.example.com: Unknown host
Полагаю, это нормальное поведение.
Это промежуточный сервер для моего приложения. Явно не localhost.
Я где-то читал, что мне следует использовать host localhost.example.com
, но я все еще получаю это:
localhost.example.com has address 104.200.16.137
Я использую Nginx в качестве локального веб-сервера, конфигурация выглядит так:
server {
listen 127.0.0.1:80;
listen 127.0.0.1:443 ssl;
server_name localhost.example.com;
server_name_in_redirect off;
error_page 404 /www/error/404.html;
error_page 503 /www/error/404.html;
ssl_certificate /usr/local/etc/nginx/ssl/localhost.crt;
ssl_certificate_key /usr/local/etc/nginx/ssl/localhost.key;
access_log /usr/local/etc/nginx/logs/www.example.com.access.log;
error_log /usr/local/etc/nginx/logs/www.example.com.error.log;
location ~ ^/(.*)/$ {
rewrite ^/(.*)/$ /$1 permanent;
}
location ~* ^.+(\.jpg|\.jpeg|\.gif|\.png|\.js|\.ico|\.woff|\.ttf|\.eot|\.css)$ {
root /www/www.example.com/webroot;
access_log off;
expires 365d;
}
location / {
root /var/www/www.example.com/webroot/;
index index.php index.html index.htm;
if (-f $request_filename) {
break;
}
if (-d $request_filename) {
break;
}
if (-f $request_filename) {
break;
}
# Trigger 503 response on maintenance
set $mantenimiento 0;
if (-f /var/www/www.example.com/.mantenimiento) {
set $mantenimiento 1;
}
if ($remote_addr = 127.0.0.1) {
set $mantenimiento 0;
}
if ($mantenimiento) {
return 503;
}
if (!-f $request_filename) {
rewrite ^/(.+)$ /index.php?url=$1 last;
break;
}
}
location ~ .*\.php[345]?$ {
set $script $uri;
set $path_info "";
if ($uri ~ "^(.+\.php)(/.+)") {
set $script $1;
set $path_info $2;
}
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/www.example.com$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $script;
fastcgi_param PATH_INFO $path_info;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_read_timeout 300;
}
location @error_web {
root /var/www/error;
index 404.html;
}
}
У вас есть идеи или подсказки? Я просматривал Интернет около недели и не нашел ничего полезного.
Мне любопытно, не совпадает ли ваш / etc / hosts с / private / etc / hosts. На моем компьютере 10.11.5 я вижу, что они должны быть жесткой ссылкой (тот же номер inode, что и в первом поле в ls -li
вывод ниже:
Camerons-MacBook-Air:~ cameron$ ls -li /private/etc/hosts /etc/hosts
12484749 -rw-r--r-- 1 root wheel 247 15 Jul 21:01 /etc/hosts
12484749 -rw-r--r-- 1 root wheel 247 15 Jul 21:01 /private/etc/hosts
Это все еще так? Обращаются ли / etc / hosts и / private / etc / hosts к одному и тому же файлу на диске?
На хосте Linux я бы тоже задумался о /etc/nsswitch.conf, но я вижу, что в OS X этого нет; Я не уверен, что он будет использовать вместо этого. Этот файл управляет порядком методов поиска для разрешения имен, таких как имена пользователей или имена хостов.
Ура, Кэмерон
Я хотел бы проверить это для вас, но у меня нет OSX.
По этой проблеме ведутся дискуссии. Люди говорят, что проблемы с форматированием (отсутствие / отсутствие / неправильные скрытые символы) в файле hosts могут привести к его игнорированию. Просмотрите следующий вопрос и прокрутите вниз до ответов и комментариев.
Вы также можете изучить это безумие. Опять же, что касается форматирования файла hosts.
https://github.com/devopsgroup-io/vagrant-hostmanager/issues/60
Какой редактор вы используете? Можете ли вы аккуратно переписать весь файл с помощью vi, nano или другого редактора Unix?
Не используйте host или nslookup, копайте и т. Д. они будут обходить файл hosts и запрашивать DNS-серверы. Продолжайте пытаться с ping localhost.domain.com
пока вы не получите 127.0.0.1
.