配置站点

优质
小牛编辑
122浏览
2023-12-01

3.5 配置站点信息

本节介绍如何配置站点信息,对应Nginx配置文件中的server部分。

site_mapping

站点信息下的映射规则对应着Nginx配置文件中的location部分。

来了一个网络请求,先按照端口和域名进行匹配,找到对应Nginx的哪一个站点配置

---> 然后按照URL路径匹配该站点配置下的映射规则

---> 匹配到一个映射规则后,执行映射规则下的指令,对流量进行处理或转发

站点配置流程如下:

1.确保已经添加对应的Nginx集群信息及业务服务器集群信息

2.点击引导页面的“点击新增站点”按钮

site1

2.在对话框中输入站点名称(建议与匹配域名保持一致,不做强制要求)

site2

3.进入站点配置界面。该界面按照左侧的标签导航栏,主要分为四个部分:

site3

a. 站点基本信息:配置状态、域名、端口、默认转发集群、部署Nginx集群、分组、Https证书等信息。

状态:该站点是否可以部署到Nginx服务器上,还是仅存在数据库中持久化。正常使用的站点,状态都为ENABLED;

域名:对应server_name,监听的域名;

端口:对应listen,监听的端口;

默认转发集群:当没有规则匹配请求时,该请求默认反向代理到哪一个业务集群中。这一项是必须配置的,以防止流量没有匹配到任何请求的场景。默认转发集群只能从"集群管理"中已添加的集群选择,请在框内输入集群名称,会自动补全;

部署Nginx集群:该站点配置部署到哪一个Nginx集群上;

分组:该站点属于哪一个分组。分组时camel-admin管理站点的逻辑概念,仅用于左侧栏对站点进行分组;

Https证书:是否需要部署Https证书。如果选择是,请按提示继续配置Https公钥及私钥。

如果配置Https证书,还需选择默认路径的类型:

路径的Https类型表明:该路径对Http请求和Https请求的处理策略

Http, Https:表明该路径及接受Http请求,也接受Https请求

强制Http:只接受Http请求。如果收到Https请求,则通过303的方式重定向到Http

强制Https:只接受Https请求。如果收到Http请求,则通过303的方式重定向到Https

b. 映射规则:

对应location规则。

添加一条映射规则时,首先选择匹配策略。如是前缀匹配还是正则匹配、匹配的pattern等。

location1

在添加location规则后,请继续添加指令,相当于在location {}框中填写具体directive。

可以添加多个指令。

location2

我们对指令进行了抽象,有proxy_pass, return, rewrite等。分类已覆盖绝大部分需求,如果仍有特殊需求,请选择custom类型,然后填写任意内容。注意省去结尾的冒号。

如果选择proxy_pass指令,请在选择框内输入集群名称,下拉表会自动出现对应集群,点击或光标移动回车即可。

location3

选择指令后,会根据指令类型的不同,提示填写不同的信息。

c. 公共规则:

这是对location前、后的指令做了一层抽象。

如:

set $test "-";
if ( $http_cookie ~* "test=(\S+)(;.*|$)"){
    set $test $1;
}

location ~* ^/test {
    dp_domain test.liyang.com.;
    proxy_pass http://$dp_upstream;
}

其中

set $dper "-";
if ( $http_cookie ~* "dper=(\S+)(;.*|$)"){
    set $dper $1;
}

即为公共规则。

公共规则,与映射规则类似,都是指令的集合。添加公共规则,会选择类型:前置规则代表着该公共规则指令在location之前;后置规则代表着该公共规则指令在location之后。

aspect1

添加公共规则后,即可按照给location添加指令的方式添加directive。

d. 版本对比:

每次发布都会对站点信息创建一个唯一版本,类似git的commit,相当于进行一次历史快照。不同历史快照之间可以比较其变化。

如果提示保存成功,则已成功添加一个站点。随后,在导航栏"站点管理"页面下,即可对站点信息进行管理,比如新增站点,编辑老站点等。

左侧有两级站点列表,第一级是分组,第二级是具体站点名。请先打开对应分组,再定位到具体站点上。