Най-добре модифициран доминар | AS200 козирка, кокалчета за удар, копчета за окачване, Ixil, гуми за гуми, лостове

Имам Wordpress сайт, хостван на Vultr, използвайки Plesk Onyx с Apache + Nginx. Направих същата настройка за други сайтове и никога не съм имал проблеми, но за този нов сайт виждам някакво странно поведение при щракване върху връзки към сайта.

Забелязах, че Google Analytics никога не сигнализира за трафик като за източник на препратка. Целият трафик, който очаквам да покаже като Препращане, се показва като Директен. След като разгледах дневниците си за достъп на Apache, изглежда, че когато щракна върху връзка от някои други уебсайтове, няма регистриран реферал.

Това не е така за всички връзки. Социалните платформи като Twitter, Instagram и Facebook се регистрират с очакваната информация за препоръчани потребители. Освен това органичният трафик и CPC / трафикът от реклами също се показват според очакванията. Това са само няколко връзки от други сайтове, които не се регистрират.

Ето няколко примерни записа от дневниците за достъп. Някои съдържат валиден препоръчател (Twitter, например), докато други просто съдържат -. За някои от тези случаи аз следих регистрационния файл за достъп, докато щракнах върху връзка от друг сайт, така че зная трябва да има валиден препращащ:

X.X.X.X - - [10/Jun/2019:03:06:10 +0000] 'GET / HTTP/1.0' 200 12153 'https://twitter.com/PxJVBrEB7T' 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:67.0) Gecko/20100101 Firefox/67.0' X.X.X.X - - [10/Jun/2019:03:12:37 +0000] 'GET / HTTP/1.0' 200 13535 'https://twitter.com/PTVIpLWqE9' 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:67.0) Gecko/20100101 Firefox/67.0' X.X.X.X - - [10/Jun/2019:03:50:39 +0000] 'GET / HTTP/1.0' 200 12308 '-' 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:67.0) Gecko/20100101 Firefox/67.0' 

Възможно ли е Apache да е неправилно конфигуриран и да изпусне информацията за препращащия? Или е възможно това да е свързано с препращащите уебсайтове?

Има множество препращащи уебсайтове, където връзките не се показват правилно в дневника за достъп, така че подозирам, че е от страна на сървъра, но не съм сигурен какво повече да проверя.

  • Имате ли достъп до конфигурацията на сървъра?
  • Правя го. Wordpress се инсталира чрез Plesk Onyx, но имам достъп до основните конфигурации на Apache и Nginx.

... щракване върху връзка от друг сайт, така че аз зная трябва да има валиден референт

Единственият начин да "разберете" дали трябва да има регистриран валиден препоръчател е, ако видите HTTP Referer заглавка като част от заявката.

Докато е възможно потребителят просто да блокира Referer заглавката, която браузърът изпраща (вероятно не проблемът във вашия случай), уебсайтът също може тривиално да блокира изпращането на Referer заглавка с помощта на Referrer-Policy Заглавка на HTTP отговор. Или просто добавяне на rel='noreferrer' атрибут директно към котвата. Тези техники се поддържат от всички основни браузъри в наши дни.

Имайте предвид, че по подразбиране браузърът няма да изпрати Referer заглавката, когато навигирате от HTTPS към HTTP. Което отговаря на Referrer-Policy: no-referrer-when-downgrade. (Въпреки че изглежда, че това не е проблемът във вашия случай, като погледнете извлечението от дневника си.)

Това е най-вероятната причина за Referer не се регистрира - не се изпраща в заявката. По-специално, тъй като виждате Referer се регистрира за някои сайтове.

Въпреки че е технически възможно на Apache да има персонализиран регистрационен формат, базиран на различни заявки - това изглежда много малко вероятно да е причината. Това би било много умишлено действие, а не просто IMO с „неправилно конфигуриране“.

  • Благодаря за миналото, не бях твърде запознат с Referrer-Policy заглавка и може да играе роля. Новият сайт се завръща no-referrer-when-downgrade но и двата сайта, които водят обратно към него, са https, така че бих си помислил, че в този случай не е проблемът, тъй като новият сайт също е https. Проверих и двете връзки към сайта, едната има rel='noreferrer' а другият не, но и двамата имат едно и също поведение да не изпращат препращащ.
  • „Новият сайт връща no-referrer-when-downgrade“ - Това е сайтът, който се свързва с вашия „нов сайт“, който трябва да проверите. напр. Referrer-Policy: same-origin (или no-referrer) ще блокира Referer заглавка на всички външни връзки. Това може да бъде посочено и директно върху котвата с referrerpolicy атрибут. Можете да разгледате мрежовия трафик в инструментите за разработка на Chrome (раздел „Мрежа“) и да видите точно кои заглавки изпраща браузърът ви, когато следвате връзката. Вероятно виждате Referer влезли, когато следвате вътрешни връзки на собствения си сайт?
  • Виждам. Нито един от сайтовете за свързване не задава referrer атрибут на анкерния елемент. Разглеждайки chrome dev tools, когато щракна върху връзката, която изпраща Referer header и стойността е това, което бих очаквал (той също изпраща Host заглавка, но не съм сигурен дали това изобщо играе роля). Всичко това ме кара да мисля, че нещо на новия сървър причинява проблема. Сайтът с връзката е моето собствено работно портфолио. Връзвам към всички сайтове, които изграждам. И всеки друг правилно маркира кликването като препоръка с URL адреса на моя сайт; само този нов сайт изпуска референтни данни.
  • 1 Host header е от съществено значение, за да направите валидна заявка. Използва ли вашият „нов сайт“ преден прокси от някакъв вид? Въпреки че, ако това е проблем със сървъра, е трудно да си представим как / защо това би повлияло на някои заявки (или някои препоръчащи), а не на други. Можете да тествате някои „фалшиви“ заявки с помощта на CURL и да зададете всякакви Referer след това можете ръчно да зададете Referer към нещо като https://twitter.com/PxJVBrEB7T и вижте дали има значение.
  • 1 Така се оказва, че съм избрал 2-те най-лоши връзки, които да разгледам. Първият от моя сайт наистина беше добавен rel='noreferrer'; това е сайт на Wordpress и една от последните актуализации добави нова "функция", при която всички външни връзки, които се отварят в нов раздел, получават този атрибут. Другият сайт водеше към http и www версия на нашия URL, което причинява 301 пренасочвания и по този начин губи препращащия. След като ги накарах да се актуализират, за да използват https и да пуснат www, препоръчващият беше предаден, както се очакваше. Благодаря за помощта!

е работил за вас: Charles Robertson | Искате ли да се свържете с нас?