我在服务器上运行了一个 whisper 语音转文字的镜像,https://hub.docker.com/r/onerahmet/openai-whisper-asr-webservice
docker-compose file 如下:
version: "3.7"services: whisper-gpu: container_name:whisper-gpu build: context: ./ dockerfile: Dockerfile.gpu image: whisper-service-gpu volumes: - ./:/home/app ports: - "9001:9000" environment: ASR_MODEL: "small" API_KEYS: "..." deploy: resources: reservations: devices: - driver: nvidia count: 1 capabilities: [gpu]volumes: myapp:
dockerfile
FROM python:3.9.9-slimENV POETRY_VERSION=1.2.0ENV POETRY_VENV=/opt/poetry-venvRUN export DEBIAN_FRONTEND=noninteractive \ && apt-get -qq update \ && apt-get -qq install --no-install-recommends \ ffmpeg \ && rm -rf /var/lib/apt/lists/*RUN python3 -m venv $POETRY_VENV \ && $POETRY_VENV/bin/pip install -U pip setuptools \ && $POETRY_VENV/bin/pip install poetry==${POETRY_VERSION}ENV PATH="${PATH}:${POETRY_VENV}/bin"WORKDIR /appCOPY . /appRUN poetry installCMD [ "poetry", "run", "whisper_asr"]
目前服务运行正常,但是web访问的时候需要https, 我这个服务区是一个实体的服务器,所以需要手动配置证书, 目前我的域名已经使用了阿里云的免费单域名证书,请问下一步我该如何配置该证书? 是把证书配置到宿主机上面还是配置在容器内? 该如何去做?
server { listen 443 ssl; server_name your-domain.com; ssl_certificate /etc/nginx/ssl/your-domain.com.crt; ssl_certificate_key /etc/nginx/ssl/your-domain.com.key; location / { proxy_pass http://localhost:9001; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }}
可以通过nginx来配置https访问,有两种实现方式:
第一种:在本机上安装nginx服务,配置相应ssl证书,然后转发到本地9001端口。
第二种:在docker-compose文件中,新加一段nginx的service,具体的nginx.conf内容和第一种基本相同,只是转发地址和端口就变成了 whisper-gpu:9000
以下nginx.conf 的参考配置:
server { listen 443; ssl on; ssl_certificate /etc/nginx/conf.d/cert.pem; ssl_certificate_key /etc/nginx/conf.d/key.pem; location / { proxy_pass http://whisper-gpu:9000; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; }}
具体docker-compose的文件配置,就不写了,建议实现方式选择第二种,毕竟容器组中内部转发效率肯定更高,而且既然用容器了,那干脆都用容器来实现。
问题内容: 是否有任何优雅的方法可以将ssl证书添加到来自docker pull的映像中? 我正在寻找一种将文件添加到/ etc / ssl / certs并运行update-ca- certificates的简单且可复制的方法。(这应该涵盖ubuntu和debian映像)。 我在CoreOS上使用docker,而coreos机器信任所需的ssl证书,但docker容器显然仅具有默认值。 我尝试过
主要内容:1 Tomcat生成SSL证书,2 使用SSL证书1 Tomcat生成SSL证书 运行以下命令以生成证书: 在Windows上: 在Linux上: 该工具将询问一些问题以提供证书。证书将位于文件夹中,证书名称为"tomcat"。您可以使用以下方法检查证书: 在Windows上: 在Linux上: 2 使用SSL证书 编辑文件: 在Windows上: 在Linux上: 并添加一个SSL连接器。 重新启动Tomcat,您就完成了。现在,您可以在Tom
问题内容: 我正在创建一个Go TCP服务器(不是http / s),并且试图将其配置为使用SSL。我有一个StartCom免费SSL证书,正试图用来完成此任务。我的服务器代码如下: 我尝试切换证书的顺序,但不包括某些证书等,但是的输出基本上保持不变。有关完整输出,请参见此处。我对中间证书似乎做错了,但是我不知道该怎么办。我已经为此工作了几天,进行了大量的谷歌搜索和搜索,但似乎没有什么适合我的情况
谈到SSL,我是个新手。所以我可以在这里使用一些关于我的情况的专业知识。 我有一个基于Java的web应用程序,可以进行SSL API调用。API和web应用程序都托管在同一台服务器上(
EMM一共需要4个证书,分别是IOS企业证书、Android keystore证书、MDM证书和受信SSL证书,用途如下: IOS企业证书:应用封装模块,用于重新签名已封装好的IOS应用程序。 Android keystore证书:应用封装模块,用于重新签名已封装好的Android应用程序。 MDM证书:移动设备管理模块,用于IOS移动设备管理,推送管理命令。 受信SSL证书:应用商店模块,用于I
配置文件中指令的作用范围可能是整个服务器,也可能是特定的目录、文件、主机、URL。本文阐述如何使用配置段(容器)以及.htaccess文件来改变配置指令的作用范围。 配置段(容器)的类型 相关模块 相关指令 core mod_version mod_proxy <Directory> <DirectoryMatch> <Files> <FilesMatch> <IfDefine> <IfModul