【发布时间】:2016-03-23 02:02:26
【问题描述】:
我已经使用 mod_wsgi 在 Webfaction 上部署了一个 Flask 应用程序。我的应用程序非常简单,但确实实现了 Flask-SocketIO,这给我带来了麻烦。我的代码在我的本地主机上运行良好,但现在它在我的 Webfaction 服务器上运行,客户端无法连接到我的套接字。我不太确定我的问题来自哪里——我假设我没有正确设置我的 apache 配置文件,但这可能不是真的。
在客户端,我在对 websocket 的 GET 和 POST 调用中都收到 400(错误请求)错误。我间歇性地看到一条警告,通知我在建立连接之前套接字已关闭。我偶尔也会收到一条错误消息,指出 WebSocket 握手期间出现错误。
我的apache httpd.conf文件如下:
ServerRoot "/home/< user >/webapps/< my_app >/apache2"
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule dir_module modules/mod_dir.so
LoadModule env_module modules/mod_env.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule wsgi_module modules/mod_wsgi.so
LoadModule unixd_module modules/mod_unixd.so
Listen 18161
KeepAlive On
SetEnvIf X-Forwarded-SSL on HTTPS=1
ServerLimit 1
StartServers 1
MaxRequestWorkers 5
MinSpareThreads 1
MaxSpareThreads 3
ThreadsPerChild 5
WSGIDaemonProcess < my_app > processes=2 threads=12 python-path=/home/< user >/webapps/< my_app >:/home/< user >/webapps/< my_app >/lib/python2.7
WSGIProcessGroup < my_app >
WSGIRestrictEmbedded On
WSGILazyInitialization On
WSGIScriptAlias / /home/< user >/webapps/< my_app >/wsgi.py
我看过一些关于 proxy_module 和 proxy_http_module 的帖子,但我不太确定我是否需要它,如果需要,如何准确配置它。对此问题的任何指导将不胜感激!
【问题讨论】:
标签: apache sockets flask mod-wsgi webfaction