excel - 如何使用 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 start
andnpm run dev-server
命令为我的插件生成 SSL 证书,这要归功于该office-addin-dev-certs
软件包,它只是“开箱即用”。
我应该在我的 Dockerfile/nginx 中进行哪些更改以通过 HTTPS 提供我的加载项?我应该如何创建我的 SSL 证书?
解决方案
推荐阅读
- entity-framework - EF Core,从 netcore2.2 更新到 netcore3.1 后出现无效的列名异常
- sql - 通过记录之间的相对差异查找数据中的组
- c# - Materialize CSS 示例在 Blazor WASM 中不起作用
- apache-spark - Spark SQL 中的 Oracle INSTR 等效项
- java - 如何使用在另一个类中返回的对象
- css - 如何缩放使用真实世界单位的 SVG
- rust - 如何以相同的方式为多种不同类型实现 Display 特征?
- r - 如何在 1x3 数据帧上使用 pivot_longer
- typescript - Mochawesome 记者在使用 Mocha 的 this.retries() api 时输出不正确的 json 结果
- google-app-engine - GAE,我还需要实施负载均衡器吗?