- 最新动态
- 功能总览
- 产品介绍
- 快速入门
-
用户指南
- 部署服务CodeArts Deploy使用流程
- 购买并授权使用CodeArts Deploy
- 访问CodeArts Deploy服务首页
- 配置部署服务的主机集群
-
使用空白模板新建并部署应用
- 使用空白模板创建CodeArts Deploy应用
- 配置CodeArts Deploy应用的部署步骤
- 配置CodeArts Deploy应用的参数
- 配置CodeArts Deploy应用的主机环境
- 配置CodeArts Deploy应用不同角色的管理权限
- 部署CodeArts Deploy应用并查看结果
- 配置CodeArts Deploy应用的系统通知和第三方订阅通知
- 使用预置模板新建并部署应用
- 使用自定义模板新建并部署应用
- 查询审计日志(可选)
- 最佳实践
- API参考
- 场景代码示例
-
常见问题
- 主机管理
- 应用部署
-
公共问题
- 一台主机是否只能对应一个项目?
- 是否需要事先将运行环境(Tomcat、python等)安装到用户主机中,再部署应用?
- 部署应用失败,提示“AnsibleUndefinedVariable: 'xxxx' is undefined”,怎样处理?
- 应用部署成功但应用验证路径下的url无法访问,怎样处理?
- 部署应用失败,日志提示DNS解析问题如何解决?
- 草稿应用无法部署,如何解决?
- 部署应用失败,JDK已安装且已配置环境变量,但报错:please configure JDK environment variables,怎样处理?
- 日志提示权限不够,怎样处理?
- 路径不合法,怎样处理?
- 提示“环境下没有主机”,怎样处理?
- 使用sudo权限执行报错,怎样处理?
- 文件不存在或者路径不正确,怎样处理?
- 当前主机用户权限不足,怎样处理?
- 文件路径不存在,怎样处理?
- 选择【Docker应用部署-Linux】系统模板,Ubuntu22执行步骤“创建并启动容器”时失败,怎样处理?
- Windows主机部署过程中,偶现连接超时,怎样处理?
-
自定义应用步骤问题
- URL健康测试
- 选择部署来源
- 停止服务
-
拷贝文件
- 没有找到目标文件
- 文件路径不合法
- 文件不存在或者路径不正确
- 部署“拷贝文件”步骤显示成功但没达到预期结果
- 当前主机用户权限不足
- Linux环境间拷贝文件报错: copy file failed
- windows环境间拷贝文件报错:Windows does not support copying files between hosts
- 环境间拷贝文件报错:Hosts using secret key credit do not support copying files between
- 部署应用中断
- 权限不够
- 参数含反斜杠“\”(特例)
- 环境下没有主机
- 环境不存在
- windows主机部署应用失败
- 使用sudo权限执行报错
- 部署进程被第三方杀毒软件拦截
- 路径不合法
- 在Centos上安装软件提示网络故障
- 在Ubuntu上安装软件提示网络故障
- Linux机器输入Windows路径,提示安装路径输入不合法
- 删除文件
- 解压文件
- 配置文件修改
- 启动/停止Tomcat服务
- 启动/停止Go服务
- 启动/停止SpringBoot服务
- 启动/停止Nginx
- 启动/停止IIS服务
- 启动/停止Node.js
-
执行shell命令
- 部署“执行shell命令”步骤,提示新建失败
- 使用Shell命令启动服务日志显示成功实际没有启动
- 使用了服务器未识别的Shell命令
- Shell命令中引用了不存在的文件或文件夹
- Shell命令如何引用参数设置中的参数
- 部署“执行Shell命令”步骤超时
- 使用了交互性的Shell命令
- 使用su命令切换用户后再部署shell命令超时
- 部署应用中断
- 权限不够
- 参数含反斜杠“\”(特例)
- 环境下没有主机
- 环境不存在
- 使用sudo权限执行报错
- 部署进程被第三方杀毒软件拦截
- 路径不合法
- 在Centos上安装软件提示网络故障
- 在Ubuntu上安装软件提示网络故障
- Linux机器输入Windows路径,提示安装路径输入不合法
- 其它常见问题
- 执行Shell脚本
- 执行PowerShell命令
- 执行PowerShell脚本
-
执行Docker命令
- docker服务未安装
- 执行Docker命令参数错误
- 当前用户没有部署权限
- 镜像不存在
- login命令部署失败
- build命令部署失败
- tag命令部署失败
- push命令部署失败
- run命令部署失败
- start、restart、stop、rm命令部署失败
- rmi命令部署失败
- pull命令部署失败
- rm命令部署失败
- 连接超时
- 部署应用中断
- 权限不够
- 参数含反斜杠“\”(特例)
- 环境下没有主机
- 环境不存在
- windows主机部署应用失败
- 使用sudo权限执行报错
- 部署进程被第三方杀毒软件拦截
- 路径不合法
- 在Centos上安装软件提示网络故障
- 在Ubuntu上安装软件提示网络故障
- Linux机器输入Windows路径,提示安装路径输入不合法
- 执行等待
- ServiceStage相关问题
- Kubernetes部署步骤操作相关问题
-
Ansible
- 非法的入口文件路径
- 找不到入口文件
- Ansible步骤关于copy模块的报错
- 替换json参数解析错误
- Playbook脚本中service模块启动/停止服务不成功
- Ansible应用部署失败
- 执行Ansible提示Do not use the delegate_to, connection, hosts command in the Ansible PlayBook script for executing the local computer,怎样处理?
- 部署应用中断
- 权限不够
- 参数含反斜杠“\”(特例)
- 环境下没有主机
- 环境不存在
- windows主机部署应用失败
- 使用sudo权限执行报错
- 部署进程被第三方杀毒软件拦截
- 路径不合法
- 在Centos上安装软件提示网络故障
- 在Ubuntu上安装软件提示网络故障
- Linux机器输入Windows路径,提示安装路径输入不合法
- 新建IIS站点
- 安装IIS
- 安装JDK
- 安装Tomcat
- 安装Nginx
- 安装GO语言
- 安装PHP
- 安装Node.js
- 安装Python
- 安装/卸载Docker
- Istio灰度发布
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
通过代理主机在内网部署应用
应用场景
通过代理主机在内网部署应用,能有效控制内外网通信,增强数据安全与网络性能,同时满足合规性要求;这一策略广泛应用于资源访问控制、数据中心间安全通信、内容缓存加速、环境隔离、安全审计及敏感数据处理等多个关键场景。
方案架构
采用squid代理服务中的Internet正向代理功能,在代理主机上指定目标主机的地址和端口,实现目标主机的公网访问。
想了解squid更多相关知识,请前往squid官网。下面以Linux系统机器进行演示。
前提条件
- 一台绑定公网IP的“代理主机-B”,若无主机可参考申请ECS。
- 一台未绑定公网IP的“目标主机-A”。
- “代理主机-B”与“目标主机-A”可通过内网进行互相访问。
操作流程
本节介绍如何将应用通过代理主机部署到内网的主机或服务器。

- 安装squid代理服务。
进入“代理主机-B”的命令行工具,执行以下命令:
yum install squid -y
若回显最后为“Complete”,可继续执行以下命令:
yum install iptables-services
回复“Y”,回显最后为“Complete”,即为安装完成。
- 编辑squid配置文件。
- 进入“代理主机-B”的命令行工具,执行以下命令:
vim /etc/squid/squid.conf
- 在上图红框位置添加以下命令:
acl local src 主机的内网IP/24
- 按“ESC”键,输入“:wq”,退出并保存。
- 进入“代理主机-B”的命令行工具,执行以下命令:
- 配置“代理主机-B”防火墙。
进入“代理主机-B”的命令行工具,依次执行以下命令:
systemctl stop firewalld.service
systemctl disable firewalld.service
yum install iptables-services iptables-devel -y
systemctl enable iptables.service
systemctl start iptables.service
iptables -I INPUT 1 -s 主机的内网IP/24 -p tcp --dport 3128 -j ACCEPT
iptables -I INPUT 2 -p tcp --dport 3128 -j DROP
说明:
其中倒数第二行的IP需配置为“目标主机-A”的内网IP网段或IP,3128是squid的代理端口。
- 安装openssl。
进入“代理主机-B”的命令行工具,执行以下命令:
yum install openssl
回显最后为“Complete”,即为安装完成。
- 启动squid代理服务。
进入“代理主机-B”的命令行工具,执行以下命令:
systemctl start squid //启动squid代理服务
systemctl status squid //检查squid状态
- 配置正向代理。
进入“目标主机-A”的命令行工具,执行以下命令:
echo "export http_proxy=http://代理机的内网IP:3128" >>/etc/profile echo "export https_proxy=http://代理机的内网IP:3128" >>/etc/profile echo "export http_proxy=http://代理机的内网IP:3128" >>~/.bashrc echo "export https_proxy=http://代理机的内网IP:3128" >>~/.bashrc echo "export http_proxy=http://代理机的内网IP:3128" >>~/.bash_profile echo "export https_proxy=http://代理机的内网IP:3128" >>~/.bash_profile source /etc/profile source ~/.bashrc source ~/.bash_profile
- 新建基础资源。
- 单击“首页”可以查看已创建的所有项目,进入目标项目下。
- 单击菜单“设置 > 通用设置 > 基础资源管理”,默认进入“主机集群”页面。
说明:
或单击菜单“持续交付 > 部署”,进入项目下部署服务界面。单击“基础资源管理”默认进入“主机集群”页面。
- 单击“新建主机集群”,填写以下信息后,单击“保存”,完成主机集群的创建。
参数项
是否必填
说明
集群名称
是
请输入自定义的主机集群名称。
操作系统
是
根据即将添加主机的操作系统,选择“Linux”。
主机连通方式
是
选择代理模式。
执行主机
是
资源池是部署软件包时执行部署命令的物理环境的集合,本场景执行主机采用官方资源池。
描述
否
请输入对主机集群的描述。
- 单击“添加或导入主机”,“选择添加方式”选择“通过IP手动添加”,填写以下信息后,单击“确定”,完成代理主机的创建。
表1 Linux系统代理主机参数说明 参数项
是否必填
说明
主机名
是
请输入自定义的代理主机名称,示例:代理主机-B。
IP
是
请输入“代理主机-B”所绑定的公网IP地址。
操作系统
是
不可更改,默认为当前主机集群的操作系统。
认证方式
是
本场景使用密码进行认证,输入的是“代理主机-B”的用户名及密码。
SSH端口
是
推荐使用22端口。
- 单击“添加或导入主机”,“选择添加方式”选择“通过IP手动添加”,填写以下信息后,单击“确定”,完成目标主机的创建。
表2 Linux系统目标主机参数说明 参数项
是否必填
说明
主机名
是
请输入自定义的目标主机名称,示例:目标主机-A。
代理主机
是
请选择“代理主机-B”为无法连接公网的目标主机进行网络代理。
IP
是
请输入“目标主机-A”的私有IP地址。
操作系统
是
不可更改,默认为当前主机集群的操作系统。
认证方式
是
本场景使用密码进行认证,输入的是“目标主机-A”的用户名及密码。
SSH端口
是
推荐使用22端口。
- 单击某个主机操作列的
图标,即可启动该主机进行连通性验证操作。
- 新建应用。
- 登录软件开发生产线首页,单击目标项目名称,进入项目首页。
- 单击菜单“持续交付 > 部署”,进入项目下部署服务界面。
- 单击“新建应用”,进入“基本信息”页面,可根据需要修改名称、描述、执行主机等基本信息。
- 完成应用基本信息的编辑后,单击“下一步”,进入选择部署模板页面,选择“空白模板”,单击“确定”。
- 进入“部署步骤”页面,在右侧步骤列表中,单击目标步骤的“添加”键,可将该部署步骤添加到左侧的步骤编排区中。
- 进入“环境管理”页面,单击“新建环境”,输入环境基本信息,单击“保存”完成新建。
- 单击“导入主机”,系统已自动筛选符合当前环境的所有集群,在弹框中选择目标主机集群,将“代理主机-B”、“目标主机-A”导入环境中。
- 部署应用,详细操作可参考部署CodeArts Deploy应用。
- 应用列表中选择待部署应用,单击
图标,即可部署该应用。
- 部署完成后,单击应用名称,单击目标部署记录,应用状态栏的颜色变成绿色,并显示“部署成功”,则表示此次部署应用成功。
- 应用列表中选择待部署应用,单击