Здравейте,
В тази публикация ще споделя за един много странен проблем който борих днес.
Става дума за apache2 http2 proxy problem, като накратко схемата ми беше следната :
- Имам сайт domain.com който се намира на сървър с nginx и php-fpm.
- Имам blog.domain.com който се намира на WHM сървър с apache2.4 с последните му обновления
- Направил съм прокси настройка на domain.com така че, когато се достъпи domain.com/blog да зарежда садържанието от blog.domain.com (от WHM/cpanel сървъра).
Nginx конфигурацията
Nginx конфигурацията при domain.com е следната :
location /blog/ {
rewrite ^/blog/(.*) /$1 break;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 90;
proxy_pass https://blog.domain.com/;
proxy_redirect https://blog.domain.com/ /blog/;
Тя се слага преди location
Проблемът
Така настроен domain.com/blog се отваря без проблем на всички браузъри без на safari. При safari върти и върти.. и накрая нищо. В логовете на WHM сървъра наблюдавах изключително много заявки от моя айпи адрес които все едно флудваха сървъра.
Решението
Решението на проблемът се оказа изключително просто. Бяхме сложили mod_http2 на WHM сървъра, след като прочетохме, че пичовете от Cpanel са го пуснали като stable модул за WHM. Оказа се , че именно в него беше и нашия проблем. След като го махнахме domain.com/blog започна да се зарежда без проблеми отново от safari.
До това решение стигнахме, след като тествахме с blog.domain.com от друг сървър който беше също изцяло на nginx.
Извода
Максимата „щом нещо работи, не го пипай“ за пореден път се оказа вярна, особенно когато сървърната ни топология е толкова сложна.
Това е!