跳转到主要内容

不重新打包修改nginx-web镜像写死的API地址

由于各种原因前端的API地址被写死了,而临时需要修改地址,打包发布麻烦,不知道哪个版本的代码对应这个版本,可以这样做。

nginx.conf中写死的服务发现

  • 方法一,使用主机别名,类似hosts功能

  • 方法二,使用下面的字符串替换

页面中写死的API地址

  • 编写一段API替换脚本和nginx启动脚本
#!/bin/bash
# 根据基础镜像的不同,可能是/bin/bashsh,而且这句要是第一句

# 如果环境变量存在则用环境变了,如果环境变量不存在,则使用默认值,注意前面的减号语法(-)
OLD_URL=${OLD_URL:-"https://park.wvpark.com:802/"}
NEW_URL=${NEW_URL:-"http://weipin.hmncloud.top/"}

# 文件名称很确定,直接替换
sed -i "s|${OLD_URL}|${NEW_URL}|g" /usr/share/nginx/html/assets/iframe-view-4c8b16ca.js

# 文件名称不确定,查找替换
# SEARCH_DIR="/usr/share/nginx/html/assets"
# FILE_PREFIX="iframe-view*.js"
# for FILE in $(find "$SEARCH_DIR" -type f -name "${FILE_PREFIX}"); do
#     # 使用 sed 进行替换操作,-i 选项表示直接编辑文件
#     sed -i "s|${OLD_URL}|${NEW_URL}|g" "$FILE"
#     # 打印已处理的文件名
#     echo "Processed file: $FILE"
# done

# 启动nginx
nginx -g 'daemon off;'


  • 将配置文件放入configmap并挂载或则直接挂载进容器,并设置挂载文件为777权限

docker和docker-compose挂载为777 请自行百度

  • 将容器的启动命令设置为自己的启动脚本