Jeśli włączyłeś obsługę protokołu proxy, doda ona własny protokół protokołu proxy haproxy jako pierwszą rzecz wysłaną w żądaniu TCP. Skutecznie, dodaje się następujący wiersz przed żądania HTTP:
PROXY TCP4 192.168.0.1 192.168.0.11 56324 443
To nie jest poprawny HTTP, więc Play nie obsługuje, jeżeli play odbiera żądanie takiego, to po prostu zwróci błąd.
Co można zrobić, to zainstalować proxy na swoim węźle EC2, który obsługuje protokół proxy, a następnie dodać adres IP protokołu proxy do nagłówka X-Forwarded-For do aplikacji Play. Instrukcje dotyczące sposobu konfigurowania nginx wspierać protokół proxy w ten sposób można znaleźć tutaj:
https://chrislea.com/2014/03/20/using-proxy-protocol-nginx/
Czy jest jakieś ETA na temat dodawania obsługi protokołu Proxy jako funkcji w Play? Czy jest to coś, co można zrobić w samej grze lub czy wymaga modyfikacji w zewnętrznej bibliotece? Dzięki. –
Play jest zbudowany na Netty, a Netty ma uchwyt protokołu proxy, który można dodać. Może być dostarczony jako opcja konfiguracyjna. Nie ma planów wdrożenia tego, jeśli tak się stanie, będzie to żądanie od społeczności. Play 3 przenosi się również na akka-http (aka spray), który nie obsługuje protokołu proxy. Żądanie funkcji dla tego jest tutaj: https://github.com/spray/spray/issues/846 –