首页 > 解决方案 > 如何使用 HTTPS 在 Docker 中部署/提供 Excel 加载项?

问题描述

为了在“现实环境”中测试我的 Excel 加载项,我尝试在 Docker 容器中部署我的加载项,但似乎 Excel 无法访问在 Docker 中运行的加载项。我很确定这与 HTTPS 有关,因为我可以从浏览器访问我的扩展程序(尽管只有 HTTP)。为了清楚起见,我最初使用 Yeoman 生成器和 React 任务窗格模板创建了我的加载项。

这是我的 Dockerfile:

FROM node:14.2.0-alpine3.10 as build
RUN echo "*** Build Phase ***"
WORKDIR .
ENV PATH ./node_modules/.bin:$PATH
COPY package.json ./
COPY package-lock.json ./
RUN npm ci
COPY . ./
RUN npm run build

FROM nginx:stable-alpine
RUN echo "*** Deployment Phase ***"
COPY --from=build ./dist /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

第一部分在干净的节点环境中构建我的生产插件(npm run build 使用 webpack 最小化和编译我在 ./dist 文件夹中的代码)。Dockerfile 的第二部分只是创建了一个简单的 nginx 服务器,用于从 dist 文件夹托管我的生产就绪插件。

使用此文件构建我的 Docker 映像后,我运行它docker run -it --rm -p 3000:80 addin:1以启动在 Docker 中运行的 nginx 服务器。

在开发过程中,npm run startandnpm run dev-server命令为我的插件生成 SSL 证书,这要归功于该office-addin-dev-certs软件包,它只是“开箱即用”。

我应该在我的 Dockerfile/nginx 中进行哪些更改以通过 HTTPS 提供我的加载项?我应该如何创建我的 SSL 证书?

标签: exceldockerhttpsdockerfileoffice-js

解决方案


推荐阅读