Я настраиваю балансировщик нагрузки Nginx перед двумя серверами с litespeed в качестве веб-сервера. Веб-приложение - это wordpress, и на узле балансировки нагрузки есть сертификат SSL, а на веб-узлах его нет. Я преобразовал все вхождения "https://example.com" с участием "http://example.com"из-за этой конфигурации в Nginx:
server {
listen ip:443 ssl http2;
listen 127.0.0.1:443 ssl http2;
ssl_certificate $ssl_server_name.crt;
ssl_certificate_key $ssl_server_name.key;
location / {
proxy_pass http://backend;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
Я надеялся решить проблему смешанного содержимого с помощью mod_substitute, но обнаружил, что он несовместим с litespeed и не имеет эквивалента. Были решения, использующие буферизацию вывода php, но, на мой взгляд, они могут вызвать другие проблемы.
РЕДАКТИРОВАТЬ: Есть ли способ справиться с этим, когда Nginx loadbalancer отправляет ответ?