我正在尝试从VPS(apache)中的Docker容器托管我的Flask Rest API。它在http
上工作正常,但在https
上不工作。
Dockerfile
FROM python:3.11
# Virtual envs not needed inside container
WORKDIR /app
COPY ./requirements.txt /app/requirements.txt
COPY . /app
RUN python3 -m pip install -r /app/requirements.txt
EXPOSE 5000
CMD ["flask", "--app=app", "run", "--host=0.0.0.0"]
字符串
运行$ docker run --rm -it -p 8080:5000 myapp:latest
允许我在Postman上运行http://myapphostwebsite.com:8080/user/12345
。然后我可以检索数据,但当使用https://myapphostwebsite.com:8080/user/12345
时,我得到了这个Postman错误:
Error: write EPROTO 5543930632:error:100000f7:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER:../../../../src/third_party/boringssl/src/ssl/tls_record.cc:242:
型
Docker日志给出了
code 400, message Bad request version ('À\x13À') \x16\x03\x01\x00ü\x01\x00\x00ø\x...
型
我不知道该怎么办。如何通过https访问我的Docker容器?
PS:我使用Certbot
在我的VPS上设置SSL
1条答案
按热度按时间lnlaulya1#
这是因为Alpine镜像默认情况下没有安装CA证书。您可以通过以下步骤修复此问题:
字符串