I’ve been having a hard time trying to debug this issue. We’re trying to set up an proxy that will essentially serve up firebase inside our own domain to get around some customer content blocking.
I don’t have a ton of experience with H2 and am having a difficult time debugging.
The haproxy config is as simple as I can make it.
global
log stdout format raw local0 debug
log-send-hostname
defaults
log global
retries 3
timeout client 30s
timeout connect 10s
timeout server 30s
mode http
option httplog
option logasap
frontend fe
bind :8443 ssl crt localhost.pem alpn h2,http/1.1
default_backend firestore
backend firestore
server fs1 firestore.googleapis.com:443 ssl verify none alpn h2,http/1.1
When using the proxy I get this:
➜ haproxy curl -k --http2 -X POST 'https://localhost:8443/google.firestore.v1.Firestore/Listen/channel?database=somedb'
127.0.0.1:55819 [16/Sep/2022:15:43:01.986] fe~ firestore/fs1 0/0/220/53/+273 404 +314 - - ---- 1/1/1/1/0 0/0 "POST https://localhost:8443/google.firestore.v1.Firestore/Listen/channel?database=somedb HTTP/2.0"
<!DOCTYPE html>
<html lang=en>
<meta charset=utf-8>
<meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width">
<title>Error 404 (Not Found)!!1</title>
<style>
*{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}#logo{background:url(//www.google.com/images/branding/googlelogo/1x/googlelogo_color_150x54dp.png) no-repeat;margin-left:-5px}@media only screen and (min-resolution:192dpi){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat 0% 0%/100% 100%;-moz-border-image:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) 0}}@media only screen and (-webkit-min-device-pixel-ratio:2){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat;-webkit-background-size:100% 100%}}#logo{display:inline-block;height:54px;width:150px}
</style>
<a href=//www.google.com/><span id=logo aria-label=Google></span></a>
<p><b>404.</b> <ins>That’s an error.</ins>
<p>The requested URL <code>/google.firestore.v1.Firestore/Listen/channel</code> was not found on this server. <ins>That’s all we know.</ins>
Going directly to the firestore url I get this:
➜ haproxy curl -k --http2 -X POST 'https://firestore.googleapis.com/google.firestore.v1.Firestore/Listen/channel?database=somedb'
Any help would be greatly appreciated!