Я использую Nginx в качестве конечной точки SSL перед Varnish 6 на той же машине. Это хорошо работает при использовании порта TCP. Поскольку Varnish 6 поддерживает прослушивание сокетов домена Unix, я изменил свою конфигурацию, чтобы использовать сокеты:
varnishd запускается с параметром: -a /var/run/varnish.sock,PROXY,user=varnish,group=varnish,mode=666
(ранее это было -a: 8080)
в конфигурации Nginx, я изменил proxy_pass http://127.0.0.1:8080;
на proxy_pass http://unix:/var/run/varnish.sock;
Перезапустите Nginx и Varnish, ошибки не отображаются. Файл сокета /var/run/varnish.sock создан и доступен для записи во всем мире (я знаю, я знаю ... Я просто хотел запустить его). Netstat говорит, что varnishd слушает /var/run/varnish.sock.
Но это не работает, любой веб-запрос к nginx возвращает «502 Bad Gateway».
В журнале ошибок Nginx написано «восходящее преждевременно закрытое соединение при чтении заголовка ответа из восходящего потока».
Varnishlog показывает записи, подобные следующим для каждого запроса:
* << Session >> 65578
- Begin sess 0 PROXY
- SessOpen 0.0.0.0 0 a0 0.0.0.0 0 1557937009.691636 21
- SessClose RX_JUNK 0.000
- End
Есть идеи, что не так?
Лак Лак-6.0.3 ревизия 7d1ded3aa033a018317dbafc61587026ea2ef8a3,
Nginx - это nginx / 1.14.0 (Ubuntu),
Работает на Ubuntu 18.04 Bionic