Neil Craig created TS-3416:
------------------------------

             Summary: Enabling HTTP2 breaks proxying
                 Key: TS-3416
                 URL: https://issues.apache.org/jira/browse/TS-3416
             Project: Traffic Server
          Issue Type: Bug
          Components: Core, HTTP/2
            Reporter: Neil Craig


Hi guys
Firstly, apologies if this is the wrong place to ask.

I have ATS 5.3, compiled (with experimental plugins) from a github pull a 
couple of days ago, runnning on CentOS 6.6 64 bit. I'm trying to get ATS 
working with h2 as a reverse proxy but every time I enable h2 via 
proxy.config.http2.enabled in records.config, proxying breaks. I've tried both 
http and https backends and many variants of http_ports config.

H2 is working in that the chrome/firefox indicator shows it and i can see it in 
chrome:net-internals but as i say, proxying breaks. The moment i disable h2 via 
proxy.config.http2.enabled INT 0, proxying works again (as does vanilla TLS).
I can't see anything in the logs which is helpful. My configs are below:

records.config:
CONFIG proxy.config.http2.enabled INT 1
CONFIG proxy.config.http.server_ports STRING 80:http 443:ssl:proto=http2
CONFIG proxy.config.log.logfile_dir STRING /var/log/trafficserver
CONFIG proxy.config.body_factory.template_sets_dir STRING 
etc/trafficserver/body_factory
CONFIG proxy.config.url_remap.filename STRING remap.config
proxy.config.log.common_log_enabled INT 1
proxy.config.log.common_log_is_ascii INT 1
proxy.config.log.common_log_name STRING nutscrape.log
CONFIG proxy.config.cache.control.filename STRING cache.config
CONFIG proxy.config.ssl.server.multicert.filename STRING ssl_multicert.config
CONFIG proxy.config.log.extended_log_enabled INT 1
CONFIG proxy.config.log.extended_log_is_ascii INT 1
CONFIG proxy.config.log.extended_log_name STRING ext.log
CONFIG proxy.config.ssl.server.cert.path STRING /usr/local/etc/tls-certs/
CONFIG proxy.config.ssl.server.private_key.path STRING /usr/local/etc/tls-certs/

remap.config:
map_with_recv_port https://<edge-hostname> http://<origin-hostname>
reverse_map http://<origin-hostname> https://<edge-hostname>

I haven't changed anything else I can think of and have no plugins running.

In terms of logs, the error.log shows 404s for the origin requests (but i can 
curl/wget the same resources from the server). The diag.log looks like this:

[Feb 27 11:23:55.589] {0x2b0a0481e060} STATUS: opened 
/var/log/trafficserver/diags.log
[Feb 27 11:23:55.589] {0x2b0a0481e060} NOTE: updated diags config
[Feb 27 11:23:55.591] Server {0x2b0a0481e060} NOTE: cache clustering disabled
[Feb 27 11:23:55.592] Server {0x2b0a0481e060} NOTE: ip_allow.config updated, 
reloading
[Feb 27 11:23:55.594] Server {0x2b0a0481e060} NOTE: cache clustering disabled
[Feb 27 11:23:55.595] Server {0x2b0a0481e060} NOTE: logging initialized[3], 
logging_mode = 3
[Feb 27 11:23:55.600] Server {0x2b0a0481e060} NOTE: loading SSL certificate 
configuration from /usr/local/etc/trafficserver/ssl_multicert.config
[Feb 27 11:23:55.627] Server {0x2b0a0481e060} NOTE: traffic server running
[Feb 27 11:23:55.637] Server {0x2b0a06e94700} WARNING: skipping access control 
checks for HTTP/2 connection
[Feb 27 11:23:55.653] Server {0x2b0a06e94700} WARNING: skipping access control 
checks for HTTP/2 connection
[Feb 27 11:23:55.727] Server {0x2b0a0481e060} NOTE: cache enabled

(after a restart).

That's about all i can think of that's likely to be useful.

Any advice or a pointer to a better place to ask would be very gratefully 
received.

Cheers
Neil



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to