Support

Home Forums Ticketing Add-on Ticketing App – NGINX 499 error on Check-In Only

Ticketing App – NGINX 499 error on Check-In Only

Posted: January 17, 2017 at 5:56 pm


Jamie Glick

January 17, 2017 at 5:56 pm

I have a strange one:

We are able to successfully log into the ticketing app using Application Passwords on Android and view events and registrations, however, when we try to perform the “Check-In” action on events and individual registrations, we get the error “Connection Error. Unable to load data” after a moment.

One of my client’s assistants had an older version of the app on a tablet that was able to perform the check-in action (before it updated automatically), and she was able to perform the action on an iOS device.

I’m also able to successfully POST to:

'/wp-json/ee/v4.8.36/registrations/{$REG_ID}/toggle_checkin_for_datetime/{$DTT_ID}'

Successful Postman request
172.56.20.197 - fcbr_superadmin [17/Jan/2017:17:01:17 -0700] "POST /wp-json/ee/v4.8.36/registrations/5911/toggle_checkin_for_datetime/209 HTTP/2.0" 200 1657 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36" "-" "" "Basic [token_string_removed]" "-" "-" "-"

Unsuccessful App request
2607:fb90:900:9da2:561c:c6b9:d211:88b - fcbr_superadmin [17/Jan/2017:17:01:49 -0700] "POST /wp-json/ee/v4.8.36/registrations/5911/toggle_checkin_for_datetime/209 HTTP/2.0" 499 0 "-" "okhttp/3.2.0" "-" "-" "Basic [token_string_removed]" "-" "-" "-"

The log format is:
‘$remote_addr – $remote_user [$time_local] ‘ ‘”$request” $status $body_bytes_sent ‘ ‘”$http_referer” “$http_user_agent” “$http_x_forwarded_for” “$request_body” “$http_Authorization”‘

WordPress Version: 4.7.1
nginx version: nginx/1.10.1
PHP Version: 7.0.14-1+deb.sury.org~xenial+1
MySQL Version: 5.7.16
Event Espresso Version: 4.9.26.p
WordPress Address (URL): https://fcbr.org
Site address (URL): https://fcbr.org

I can provide any logins you need.


Josh

  • Support Staff

January 18, 2017 at 3:01 pm

Can you check with the host to see if there is a load balancer set up, and is set to timeout after 60 seconds?


Jamie Glick

January 18, 2017 at 8:25 pm

No loadbalancer, and the 499 error happens usually within seconds.

After doing some more research, I looked into okhttp, the client used by the app for HTTP. I could tell through the http_user_agent string that was being used. Going through the reported issues, I came across this, which read exactly like the issue I was describing:

https://github.com/square/okhttp/issues/2506

Which led me to believe the nginx 1.10.1 version supplied for Ubuntu 16.04 through the stable channel was causing the problem due to a broken http/2 implementation.

I updated to the mainline in /etc/apt/sources.list

deb http://nginx.org/packages/mainline/ubuntu/ xenial nginx
deb-src http://nginx.org/packages/mainline/ubuntu/ xenial nginx

then needed to:

apt-get remove nginx-common
apt-get install nginx
mkdir /etc/nginx/logs
systemctl unmask nginx.service

After restart nginx, the issue is gone, and the app works great.

It may be a good idea to put this somewhere that anyone using Ubuntu 16.04 and the repository provided nginx 1.10.1 the app checkin may be broken due to the POST issue, perhaps more elegantly than I put it.

Thanks!


Josh

  • Support Staff

January 18, 2017 at 8:38 pm

Thanks for the update. We’ll add what you found to the troubleshooting checklist.

The support post ‘Ticketing App – NGINX 499 error on Check-In Only’ is closed to new replies.

Have a question about this support post? Create a new support post in our support forums and include a link to this existing support post so we can help you.

Event Espresso