title: gRPC HTTP/2 settings different between hosts with same code -- where are they set?
body: <p>I'm experiencing an issue with a new gRPC service I'm creating whereby I'm not receiving the data once deployed in production.  During testing, the production server is not behind a proxy, I'm directly addressing using it's IP address.</p>
  <p>One notable difference between running the service on localhost (where it works) and production (where it doesn't) are the &quot;SETTINGS&quot; being sent by the server, and I'm wondering if this is causing my problem.</p>
  <p>I set <code>GODEBUG=http2debug=2</code> before running my gRPC client and on localhost I receive these SETTINGS:</p>
  <pre><code>2021/10/20 09:13:57 http2: Framer 0xc0000b2000: wrote SETTINGS len=6, settings: MAX_HEADER_LIST_SIZE=262144
  2021/10/20 09:13:57 http2: Framer 0xc0000b2000: read SETTINGS len=6, settings: MAX_FRAME_SIZE=16384
  </code></pre>
  <p>Whereas on the production server I receive these SETTINGS:</p>
  <pre><code>2021/10/20 09:04:37 http2: Framer 0xc000230000: wrote SETTINGS len=6, settings: MAX_HEADER_LIST_SIZE=262144
  2021/10/20 09:04:37 http2: Framer 0xc000230000: read SETTINGS len=24, settings: HEADER_TABLE_SIZE=4096, MAX_CONCURRENT_STREAMS=100, MAX_FRAME_SIZE=16384, MAX_HEADER_LIST_SIZE=65535
  </code></pre>
  <p>Any idea where these are being set, since I'm not setting them in the code?  My understanding is that these would only be set if I set them on the <code>grpc.NewServer</code>, which I'm not.</p>
  <p>Many thanks for any thoughts you might have.</p>