Docker VPS支持HTTP但不支持HTTPS

nvbavucw  于 11个月前  发布在  Docker
关注(0)|答案(1)|浏览(101)

我正在尝试从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

lnlaulya

lnlaulya1#

这是因为Alpine镜像默认情况下没有安装CA证书。您可以通过以下步骤修复此问题:

apk add --no-cache ca-certificates

字符串

相关问题