HA deploy for Python wsgi application
Of the three options, only option number 1 has any chance of working with websockets. Nginx, and most standard webservers will not play nicely with them.
I consider this scenarios for deploying High Available Python web apps:

load balancer -* wsgi servers
load balancer -* production HTTP sever - wsgi server
production HTTP sever (with load balancing features, like Nginx) -* wsgi servers

For load balancer I consider HAProxy 
For production HTTP sever I consider Nginx 
For wsgi servers I mean servers which directly handle wsgi app (gevent, waitress, uwsgi...)
-* means one to many connection 
- means one to one connection
There is no static content to serve. So I wonder if production HTTP server is needed.

What are the pros and cons of each solution?
For each scenario (1-3), in place of wsgi server is there any advantage of using wsgi container server (uWSGI, gunicorn) rather then raw wsgi server (gevent, tornado..)?
I'm also wondering which solution is the best for websockets or long polling request?