This commit is contained in:
parent
975f5adf8c
commit
9050a65e02
|
@ -0,0 +1,25 @@
|
|||
#!/bin/bash
|
||||
|
||||
baseDir="/home/somuns/ci4s"
|
||||
#判断$1是否为all,如果是,则编译所有模块,否则只编译management-platform模块
|
||||
if [ "$1" == "all" ]; then
|
||||
buildDir=$baseDir
|
||||
else
|
||||
buildDir="$baseDir/ruoyi-modules/management-platform"
|
||||
fi
|
||||
|
||||
echo "Building $buildDir"
|
||||
cd $buildDir && mvn clean install
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Failed to build ruoyi-modules"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
#!/bin/bash
|
||||
|
||||
baseDir="/home/somuns/ci4s"
|
||||
cd ${baseDir}/react-ui
|
||||
|
||||
npm install
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Failed to install npm depend package"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
npm run build
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Failed to build react-ui"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,74 @@
|
|||
#!/bin/bash
|
||||
|
||||
#记录开始时间
|
||||
startTime=$(date +%s)
|
||||
|
||||
# 登录到目标环境
|
||||
baseDir="/home/somuns/ci4s"
|
||||
cd ${baseDir}
|
||||
|
||||
|
||||
#build
|
||||
# 默认参数
|
||||
branch="master"
|
||||
service="manage-front"
|
||||
env="dev"
|
||||
|
||||
#
|
||||
show_help() {
|
||||
echo "Usage: $0 [-b branch] [-s service] [-e environment]"
|
||||
echo
|
||||
echo "Options:"
|
||||
echo " -b Branch to deploy, default: master"
|
||||
echo " -s Service to deploy (manage-front, manage, front, all, default: manage-front)"
|
||||
echo " -e Environment (e.g., dev, test, default: dev)"
|
||||
echo " -h Show this help message"
|
||||
}
|
||||
|
||||
# 解析命令行选项
|
||||
while getopts "b:s:e:h" opt; do
|
||||
case $opt in
|
||||
b) branch=$OPTARG ;;
|
||||
s) service=$OPTARG ;;
|
||||
e) env=$OPTARG ;;
|
||||
h) show_help; exit 0 ;;
|
||||
\?) echo "Invalid option -$OPTARG" >&2; show_help; exit 1 ;;
|
||||
esac
|
||||
done
|
||||
|
||||
valid_services=("manage-front" "manage" "front" "all")
|
||||
if [[ ! " ${valid_services[@]} " =~ " $service " ]]; then
|
||||
echo "Invalid service name: $service" >&2
|
||||
echo "Valid services are: ${valid_services[*]}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
valid_envs=("dev" "test")
|
||||
if [[ ! " ${valid_envs[@]} " =~ " $env " ]]; then
|
||||
echo "Invalid environment: $env" >&2
|
||||
echo "Valid environments are: ${valid_envs[*]}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "start build"
|
||||
sh ${baseDir}/k8s/build.sh -b ${branch} -s ${service}
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Build failed"
|
||||
exit 1
|
||||
fi
|
||||
echo "build success"
|
||||
|
||||
# 部署
|
||||
echo "start deploy"
|
||||
sh ${baseDir}/k8s/deploy.sh -s ${service} -e ${env}
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Deploy failed"
|
||||
exit 1
|
||||
fi
|
||||
echo "deploy success"
|
||||
|
||||
# 记录结束时间
|
||||
endTime=$(date +%s)
|
||||
# 计算运行时间
|
||||
duration=$(( $endTime - $startTime ))
|
||||
echo "编译发布总耗时: $duration 秒"
|
|
@ -0,0 +1,162 @@
|
|||
#!/bin/bash
|
||||
|
||||
# 记录开始时间
|
||||
start=$(date +%s)
|
||||
# 默认参数
|
||||
service="manage-front"
|
||||
env="dev"
|
||||
|
||||
show_help() {
|
||||
echo "Usage: $0 [-s service] [-e environment]"
|
||||
echo
|
||||
echo "Options:"
|
||||
echo " -s Service to deploy (manage-front, manage, front, all default: manage-front)"
|
||||
echo " -e Environment (e.g., dev, test, default: dev)"
|
||||
echo " -h Show this help message"
|
||||
}
|
||||
|
||||
# 解析命令行参数
|
||||
while getopts "s:e:h" opt; do
|
||||
case $opt in
|
||||
s) service=$OPTARG ;;
|
||||
e) env=$OPTARG ;;
|
||||
h) show_help; exit 0 ;;
|
||||
\?) echo "Invalid option -$OPTARG" >&2; exit 1 ;;
|
||||
esac
|
||||
done
|
||||
|
||||
echo "Deploy service: $service, environment: $env"
|
||||
|
||||
valid_services=("manage-front" "manage" "front" "all")
|
||||
if [[ ! " ${valid_services[@]} " =~ " $service " ]]; then
|
||||
echo "Invalid service name: $service" >&2
|
||||
echo "Valid services are: ${valid_services[*]}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
valid_envs=("dev" "test")
|
||||
if [[ ! " ${valid_envs[@]} " =~ " $env " ]]; then
|
||||
echo "Invalid environment: $env" >&2
|
||||
echo "Valid environments are: ${valid_envs[*]}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 根据环境设置 IP 地址
|
||||
if [ "$env" == "dev" ]; then
|
||||
remote_ip="172.20.32.181"
|
||||
elif [ "$env" == "test" ]; then
|
||||
remote_ip="172.20.32.185"
|
||||
else
|
||||
echo "Invalid environment - $env"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
baseDir=/home/somuns/ci4s
|
||||
tag=$(date +'%Y%m%d%H%M')
|
||||
remote_deploy_dir=/home/deploy/manage-platform
|
||||
|
||||
# 构建镜像函数
|
||||
build_image() {
|
||||
local dockerfile=$1
|
||||
local image=$2
|
||||
cd ${baseDir}/k8s/dockerfiles
|
||||
docker build -t ${image} -f ${dockerfile} .
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Build ${image} image fail"
|
||||
exit 1
|
||||
fi
|
||||
docker push ${image}
|
||||
}
|
||||
|
||||
# 复制和替换 YAML 文件函数
|
||||
prepare_yaml() {
|
||||
local yaml_file=$1
|
||||
local image=$2
|
||||
|
||||
placeholder="\${${yaml_file%.yaml}-image}"
|
||||
cd ${baseDir}/k8s/template-yaml
|
||||
cp -rf ${yaml_file} deploy/
|
||||
cd deploy/
|
||||
sed -i "s|${placeholder}|${image}|g" ${yaml_file}
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Replace ${image} image fail"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 建立远程目录并备份文件
|
||||
ssh root@$remote_ip "mkdir -p ${remote_deploy_dir} && if [ -f ${remote_deploy_dir}/${yaml_file} ]; then mv ${remote_deploy_dir}/${yaml_file} ${remote_deploy_dir}/${yaml_file}.bak; fi"
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Failed to create remote directory or backup ${yaml_file}"
|
||||
exit 1
|
||||
else
|
||||
echo "Successfully created remote directory and backup ${yaml_file}"
|
||||
fi
|
||||
|
||||
scp ${baseDir}/k8s/template-yaml/deploy/${yaml_file} root@$remote_ip:${remote_deploy_dir}/${yaml_file}
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Failed to copy ${yaml_file}"
|
||||
exit 1
|
||||
else
|
||||
echo "Successfully copied ${yaml_file}"
|
||||
fi
|
||||
}
|
||||
|
||||
# 部署服务函数
|
||||
deploy_service() {
|
||||
local yaml_file=$1
|
||||
ssh root@$remote_ip "kubectl apply -n argo -f ${remote_deploy_dir}/${yaml_file}"
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Failed to deploy ${yaml_file}"
|
||||
exit 1
|
||||
else
|
||||
echo "Successfully deployed ${yaml_file}"
|
||||
fi
|
||||
}
|
||||
|
||||
deploy_nacos() {
|
||||
local yaml_file=$1
|
||||
scp ${baseDir}/k8s/${yaml_file} root@$remote_ip:${remote_deploy_dir}/${yaml_file}
|
||||
deploy_service ${yaml_file}
|
||||
}
|
||||
|
||||
build_and_deploy() {
|
||||
local dockerfile=$1
|
||||
local image=$2
|
||||
local yaml_file=$3
|
||||
|
||||
build_image ${dockerfile} ${image}
|
||||
prepare_yaml ${yaml_file} ${image}
|
||||
deploy_service ${yaml_file}
|
||||
}
|
||||
|
||||
# 构建和部署 manage 服务
|
||||
if [ "$service" == "manage-front" ] || [ "$service" == "manage" ]; then
|
||||
build_and_deploy "managent-dockerfile" "172.20.32.187/ci4s/ci4s-managent:${tag}" "k8s-7management.yaml"
|
||||
fi
|
||||
|
||||
|
||||
# 构建和部署 front 服务
|
||||
if [ "$service" == "manage-front" ] || [ "$service" == "front" ]; then
|
||||
build_and_deploy "nginx-dockerfile" "172.20.32.187/ci4s/ci4s-front:${tag}" "k8s-12front.yaml"
|
||||
fi
|
||||
|
||||
|
||||
if [ "$service" == "all" ]; then
|
||||
#部署前端
|
||||
build_and_deploy "nginx-dockerfile" "172.20.32.187/ci4s/ci4s-front:${tag}" "k8s-12front.yaml"
|
||||
#部署管理平台
|
||||
build_and_deploy "managent-dockerfile" "172.20.32.187/ci4s/ci4s-managent:${tag}" "k8s-7management.yaml"
|
||||
#部署认证中心
|
||||
build_and_deploy "auth-dockerfile" "172.20.32.187/ci4s/ci4s-auth:${tag}" "k8s-5auth.yaml"
|
||||
#部署网关
|
||||
build_and_deploy "gateway-dockerfile" "172.20.32.187/ci4s/ci4s-gateway:${tag}" "k8s-4gateway.yaml"
|
||||
#部署系统服务
|
||||
build_and_deploy "system-dockerfile" "172.20.32.187/ci4s/ci4s-system:${tag}" "k8s-6system.yaml"
|
||||
#部署配置中心
|
||||
deploy_nacos "k8s-3nacos.yaml"
|
||||
fi
|
||||
|
||||
|
||||
# 记录结束时间
|
||||
end=$(date +%s)
|
||||
echo "部署成功, 耗时: $((end-start))秒"
|
|
@ -0,0 +1,64 @@
|
|||
worker_processes 1;
|
||||
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
|
||||
http {
|
||||
include mime.types;
|
||||
default_type application/octet-stream;
|
||||
sendfile on;
|
||||
keepalive_timeout 65;
|
||||
client_max_body_size 20480m;
|
||||
|
||||
server {
|
||||
listen 8000;
|
||||
server_name localhost;
|
||||
|
||||
location /api/{
|
||||
# rewrite ^/prod-api/(.*)$ /$1 break;
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header REMOTE-HOST $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_pass http://ci4s-gateway-service.argo.svc:8082/;
|
||||
proxy_connect_timeout 500s; # 设置连接超时时间为 120 秒
|
||||
proxy_read_timeout 500s; # 设置读取超时时间为 120 秒
|
||||
proxy_send_timeout 500s; # 设置发送超时时间为 120 秒
|
||||
}
|
||||
|
||||
location /label-studio/ {
|
||||
# rewrite ^/label-studio/(.*)$ /$1 break;
|
||||
proxy_pass http://label-studio-service.argo.svc:8080/projects/;
|
||||
proxy_hide_header X-Frame-Options;
|
||||
add_header X-Frame-Options ALLOWALL;
|
||||
}
|
||||
|
||||
location / {
|
||||
rewrite ^/prod-api/(.*)$ /$1 break;
|
||||
root /home/ruoyi/projects/ruoyi-ui;
|
||||
try_files $uri $uri/ /index.html;
|
||||
index index.html index.htm;
|
||||
}
|
||||
|
||||
location /api/v1/model/ {
|
||||
proxy_pass http://pipeline-convert-service.argo.svc:80;
|
||||
proxy_set_header REMOTE-HOST $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
}
|
||||
|
||||
location @router {
|
||||
rewrite ^.*$ /index.html last;
|
||||
}
|
||||
|
||||
# 避免actuator暴露
|
||||
if ($request_uri ~ "/actuator") {
|
||||
return 403;
|
||||
}
|
||||
|
||||
error_page 500 502 503 504 /50x.html;
|
||||
location = /50x.html {
|
||||
root html;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,131 @@
|
|||
worker_processes 1;
|
||||
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
|
||||
http {
|
||||
include mime.types;
|
||||
default_type application/octet-stream;
|
||||
sendfile on;
|
||||
keepalive_timeout 65;
|
||||
client_max_body_size 20480m;
|
||||
error_log /var/log/nginx/error.log debug;
|
||||
server {
|
||||
listen 8000;
|
||||
server_name localhost;
|
||||
|
||||
location /api/{
|
||||
# rewrite ^/prod-api/(.*)$ /$1 break;
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header REMOTE-HOST $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_pass http://ci4s-gateway-service.argo.svc:8082/;
|
||||
proxy_connect_timeout 500s; # 设置连接超时时间为 120 秒
|
||||
proxy_read_timeout 500s; # 设置读取超时时间为 120 秒
|
||||
proxy_send_timeout 500s; # 设置发送超时时间为 120 秒
|
||||
}
|
||||
|
||||
location /label-studio/ {
|
||||
# rewrite ^/label-studio/(.*)$ /$1 break;
|
||||
proxy_pass http://label-studio-service.argo.svc:8080/projects/;
|
||||
proxy_hide_header X-Frame-Options;
|
||||
add_header X-Frame-Options ALLOWALL;
|
||||
}
|
||||
|
||||
location / {
|
||||
rewrite ^/prod-api/(.*)$ /$1 break;
|
||||
root /home/ruoyi/projects/ruoyi-ui;
|
||||
try_files $uri $uri/ /index.html;
|
||||
index index.html index.htm;
|
||||
}
|
||||
|
||||
location /api/v1/model/ {
|
||||
proxy_pass http://pipeline-convert-service.argo.svc:80;
|
||||
proxy_set_header REMOTE-HOST $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
}
|
||||
# location /api/v1/realtimeStatus {
|
||||
# proxy_pass http://argo-server.argo.svc:2746/api/v1/workflow-events/argo;
|
||||
# proxy_set_header REMOTE-HOST $remote_addr;
|
||||
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
# }
|
||||
|
||||
|
||||
location /api/v1/tensorboard/show {
|
||||
# 提取查询参数中的 `svc` 值
|
||||
set $svc "";
|
||||
if ($arg_svc) {
|
||||
set $svc $arg_svc;
|
||||
}
|
||||
|
||||
# 将请求转发到动态生成的内部服务地址
|
||||
proxy_pass http://$svc.argo.svc:6006;
|
||||
|
||||
# 传递必要的头信息
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
|
||||
# 对于 WebSocket 应用很重要
|
||||
proxy_buffering off;
|
||||
}
|
||||
|
||||
location /api/v1/realtimeStatus {
|
||||
rewrite ^/api/v1/realtimeStatus(.*)$ /api/v1/workflow-events/argo$1 break;
|
||||
|
||||
proxy_pass https://argo-server.argo.svc:2746;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header REMOTE-HOST $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
|
||||
# 保留查询参数
|
||||
proxy_set_header X-Original-URI $request_uri;
|
||||
|
||||
# 禁用缓冲
|
||||
proxy_buffering off;
|
||||
|
||||
# 增加超时时间
|
||||
proxy_read_timeout 3600s;
|
||||
proxy_send_timeout 3600s;
|
||||
proxy_connect_timeout 60s;
|
||||
|
||||
# 设置传递的请求头
|
||||
# proxy_set_header Connection '';
|
||||
# chunked_transfer_encoding off;
|
||||
|
||||
# 如果需要保留自定义头部
|
||||
proxy_set_header Accept 'text/event-stream';
|
||||
}
|
||||
|
||||
|
||||
location /newlog/realtimeLog {
|
||||
proxy_pass http://loki.loki-log.svc:3100/loki/api/v1/tail;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "Upgrade";
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
}
|
||||
|
||||
location @router {
|
||||
rewrite ^.*$ /index.html last;
|
||||
}
|
||||
|
||||
# 避免actuator暴露
|
||||
if ($request_uri ~ "/actuator") {
|
||||
return 403;
|
||||
}
|
||||
|
||||
error_page 500 502 503 504 /50x.html;
|
||||
location = /50x.html {
|
||||
root html;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,60 @@
|
|||
worker_processes 1;
|
||||
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
|
||||
http {
|
||||
include mime.types;
|
||||
default_type application/octet-stream;
|
||||
sendfile on;
|
||||
keepalive_timeout 65;
|
||||
|
||||
server {
|
||||
listen 8000;
|
||||
server_name localhost;
|
||||
|
||||
location /api/{
|
||||
rewrite ^/prod-api/(.*)$ /$1 break;
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header REMOTE-HOST $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_pass http://ci4s-gateway-service.argo.svc:8082/;
|
||||
}
|
||||
|
||||
location /label-studio {
|
||||
rewrite ^/prod-api/(.*)$ /$1 break;
|
||||
proxy_pass http://label-studio-ls-app.label-data.svc:80/;
|
||||
proxy_hide_header X-Frame-Options;
|
||||
add_header X-Frame-Options "ALLOW-FROM http://label-studio-ls-app.label-data.svc:80/";
|
||||
}
|
||||
|
||||
location /api/v1/model/ {
|
||||
proxy_pass http://pipeline-convert-service.argo.svc:80;
|
||||
proxy_set_header REMOTE-HOST $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
}
|
||||
|
||||
location / {
|
||||
rewrite ^/prod-api/(.*)$ /$1 break;
|
||||
root /home/ruoyi/projects/ruoyi-ui;
|
||||
try_files $uri $uri/ /index.html;
|
||||
index index.html index.htm;
|
||||
}
|
||||
|
||||
location @router {
|
||||
rewrite ^.*$ /index.html last;
|
||||
}
|
||||
|
||||
# 避免actuator暴露
|
||||
if ($request_uri ~ "/actuator") {
|
||||
return 403;
|
||||
}
|
||||
|
||||
error_page 500 502 503 504 /50x.html;
|
||||
location = /50x.html {
|
||||
root html;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,110 @@
|
|||
worker_processes 1;
|
||||
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
|
||||
http {
|
||||
include mime.types;
|
||||
default_type application/octet-stream;
|
||||
sendfile on;
|
||||
keepalive_timeout 65;
|
||||
client_max_body_size 20480m;
|
||||
error_log /var/log/nginx/error.log debug;
|
||||
server {
|
||||
listen 8000;
|
||||
server_name localhost;
|
||||
|
||||
location /api/{
|
||||
# rewrite ^/prod-api/(.*)$ /$1 break;
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header REMOTE-HOST $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_pass http://ci4s-gateway-service.argo.svc:8082/;
|
||||
proxy_connect_timeout 500s; # 设置连接超时时间为 120 秒
|
||||
proxy_read_timeout 500s; # 设置读取超时时间为 120 秒
|
||||
proxy_send_timeout 500s; # 设置发送超时时间为 120 秒
|
||||
}
|
||||
|
||||
location /label-studio/ {
|
||||
# rewrite ^/label-studio/(.*)$ /$1 break;
|
||||
proxy_pass http://label-studio-service.argo.svc:8080/projects/;
|
||||
proxy_hide_header X-Frame-Options;
|
||||
add_header X-Frame-Options ALLOWALL;
|
||||
}
|
||||
|
||||
location / {
|
||||
rewrite ^/prod-api/(.*)$ /$1 break;
|
||||
root /home/ruoyi/projects/ruoyi-ui;
|
||||
try_files $uri $uri/ /index.html;
|
||||
index index.html index.htm;
|
||||
}
|
||||
|
||||
location /api/v1/model/ {
|
||||
proxy_pass http://pipeline-convert-service.argo.svc:80;
|
||||
proxy_set_header REMOTE-HOST $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
}
|
||||
# location /api/v1/realtimeStatus {
|
||||
# proxy_pass http://argo-server.argo.svc:2746/api/v1/workflow-events/argo;
|
||||
# proxy_set_header REMOTE-HOST $remote_addr;
|
||||
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
# }
|
||||
|
||||
location /api/v1/realtimeStatus {
|
||||
rewrite ^/api/v1/realtimeStatus(.*)$ /api/v1/workflow-events/argo$1 break;
|
||||
|
||||
proxy_pass https://argo-server.argo.svc:2746;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header REMOTE-HOST $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
|
||||
# 保留查询参数
|
||||
proxy_set_header X-Original-URI $request_uri;
|
||||
|
||||
# 禁用缓冲
|
||||
proxy_buffering off;
|
||||
|
||||
# 增加超时时间
|
||||
proxy_read_timeout 3600s;
|
||||
proxy_send_timeout 3600s;
|
||||
proxy_connect_timeout 60s;
|
||||
|
||||
# 设置传递的请求头
|
||||
# proxy_set_header Connection '';
|
||||
# chunked_transfer_encoding off;
|
||||
|
||||
# 如果需要保留自定义头部
|
||||
proxy_set_header Accept 'text/event-stream';
|
||||
}
|
||||
|
||||
|
||||
location /newlog/realtimeLog {
|
||||
proxy_pass http://loki.loki-log.svc:3100/loki/api/v1/tail;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "Upgrade";
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
}
|
||||
|
||||
location @router {
|
||||
rewrite ^.*$ /index.html last;
|
||||
}
|
||||
|
||||
# 避免actuator暴露
|
||||
if ($request_uri ~ "/actuator") {
|
||||
return 403;
|
||||
}
|
||||
|
||||
error_page 500 502 503 504 /50x.html;
|
||||
location = /50x.html {
|
||||
root html;
|
||||
}
|
||||
}
|
||||
}
|
Binary file not shown.
Loading…
Reference in New Issue