>>>раньше Ваш сервер отдавал страницы site2 при запросе к site1,
поисковые машины уже проиндексировали эти страницы,
и потом начали ходить на сайт проверять обновления.
Скорее всего это действительно так. Но все равно непонятно, сейчас я убрал кеширование вообще, причем почистил папку с кешем. То есть сейчас уже не может отдастся страница с кеша вообще - так как тогда ПС может заходить на эти страницы?
>>>чтобы они прекратили это делать - для несуществующих
страниц необходимо возвращать код ошибки 404.
это нереально организовать, страниц очень много.
>>>ключ совсем не уникальный для не-залогиненных пользователей.
потому что $cookie_phpsessid будет пустой строкой,
а $server_addr:$server_port для всех/части сайтов
на этом сервере будут одинаковые, это будет 11.22.33.44:80
некоторая часть $request_uri у разных сайтов может совпадать,
например, если $request_uri == '/', что собственно и произошло.
Да, кажется вы абсолютно правы. Я нашел этот ключ хеша на хабре и даже не задумывался о том, что он может быть неуникальным.
>>>в официальной документации к nginx
http://nginx.org/ru/docs/http/ngx_http_fastcgi_module.html#fastcgi_cache_key
приведен не очень удачный пример, там нет переменной $host
Ну да, для одного сайта на сервере оно подойдет. Но когда на сервере много сайтов, будет катастрофа.
>>>более понятный пример на сайте вики:
http://wiki.nginx.org/HttpFcgiModule
fastcgi_cache_key "$scheme$request_method$host$request_uri";
Но мне кажется этого явно мало, тут даже кук нету.
>>>а если посмотреть например в google webmastertools? гугл показывает
источник ссылки, если ловит 404.
404-ых именно тех страниц не могу найти, говорю же в основном отдается 200 по ним. Постараюсь еще поискать на других сайтах.