一般我們在實作 Nginx 的 Reverse Proxy with Cache 時, 可以參考這篇:
https://www.nginx.com/resources/wiki/start/topics/examples/reverseproxycachingexample/
不過若是 proxy_pass 的 upstream 是 https://example.com/ 時, 會發生以下錯誤:
SSL_do_handshake() failed (SSL: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure) while SSL handshaking to upstream
從 log 來看, 其實原因很單純, 因為預設往 upstream 的 web request 會使用 ip 的方式連接, 而導致錯誤 (前端收到為 502 bad gateway), 解決方式只需要新增一個值:
proxy_ssl_server_name on;
如此即可, 請參閱: