用于构建具有 SSL 支持的 uWSGI 的 Dockerfile
Posted
技术标签:
【中文标题】用于构建具有 SSL 支持的 uWSGI 的 Dockerfile【英文标题】:Dockerfile for building uWSGI with SSL support 【发布时间】:2018-11-26 14:51:16 【问题描述】:我正在使用以下Dockerfile
指令(相关摘录)使用 uWSGI 构建 Docker 容器:
FROM debian:stretch
RUN apt-get update && \
apt-get install --no-install-recommends --no-install-suggests -y \
gcc python3 python3-dev python3-pip python3-setuptools
RUN pip3 install wheel
RUN pip3 install uwsgi
稍后,在调用 WebSocket 时,我遇到此错误消息:
您需要构建支持 SSL 的 uWSGI 才能使用 websocket 握手接口函数
如何在基于 Debian 的 Docker 映像的上下文中构建支持 SSL 的 uWSGI?
【问题讨论】:
【参考方案1】:以下内容现在对我有用:
FROM debian:stretch
RUN apt-get update && \
apt-get install --no-install-recommends --no-install-suggests -y \
gcc libssl-dev python3 python3-dev python3-pip python3-setuptools
RUN pip3 install wheel
RUN CFLAGS="-I/usr/local/opt/openssl/include" LDFLAGS="-L/usr/local/opt/openssl/lib" \
UWSGI_PROFILE_OVERRIDE=ssl=true pip3 install uwsgi -Iv
this 相关答案帮助了我。我还必须克服由于仅在 Dockerfile
的后面部分安装 OpenSSH 而引起的烦恼:这使得 SSH 库似乎可用于 uWSGI 编译步骤,而实际上它们在该步骤中尚未出现. This 答案对于从命令行测试生成的 Web 套接字很有用。
【讨论】:
以上是关于用于构建具有 SSL 支持的 uWSGI 的 Dockerfile的主要内容,如果未能解决你的问题,请参考以下文章
Django + uWSGI + Nginx + SSL - 工作配置请求(强调 SSL)
uWSGI uwsgi_response_write_body_do(): Connection reset by peer 报错的解决方法
在具有 OpenSSL 支持的 Windows 上构建 PyQt5?