
# 1 需求说明
默认苍穹的用户访问入口和接口访问入口都是同一个地址,或是由同一个nginx转发到后端web服务,为了安全性和隔离性考虑,客户提出要将接口访问和用户访问分离的需求,如接口放出公网访问而用户访问只允许在内网,又或者接口访问太频繁会影响用户访问等考虑。
# 2 解决方案
总体方案就是配置两套web服务和nginx服务,通过结合 [苍穹多地址访问方案](https://vip.kingdee.com/article/255989539918071552) 实现访问入口分离,如下图:
::: hljs-center

:::
# 3 场景案例
## 3.1 场景一、用户访问和接口访问分离,实现故障隔离
3.1.1、复制一套web容器服务,如web-api服务
::: hljs-center

:::
::: hljs-center

:::
主要修改参数:
(1)、环境变量:appName=web-api,在monitor注册中心用以区分服务名
(2)、外部访问(service):web-api需要暴露给nginx(api)访问
3.1.2、独立再部署一套nginx(api)服务,拷贝原nginx配置
主要修改参数:
(1)修改upstream.conf中转发的服务端口为web-api的暴露端口,如上图的30005端口
(2)在后端请求配置的location块中添加header参数(多地址访问参数): proxy_set_header clientDomain http://外部访问地址/ierp/;
## 3.2 场景二、用户内网访问和开放平台接口外网访问分离,提高安全性
3.2.1、复制一套