使用自定义流程实现网关协议解析转发功能
This commit is contained in:
26
config/dev/docker-compose.yaml
Normal file
26
config/dev/docker-compose.yaml
Normal file
@@ -0,0 +1,26 @@
|
||||
name: proxy-server
|
||||
|
||||
services:
|
||||
|
||||
postgres:
|
||||
container_name: proxy-server-dev-postgres
|
||||
image: postgres:17
|
||||
environment:
|
||||
POSTGRES_DB: $DB_DATABASE
|
||||
POSTGRES_USER: $DB_USERNAME
|
||||
POSTGRES_PASSWORD: $DB_PASSWORD
|
||||
ports:
|
||||
- "${DB_PORT}:5432"
|
||||
volumes:
|
||||
- postgres-data:/var/lib/postgresql/data
|
||||
networks:
|
||||
- proxy-server-dev
|
||||
restart: always
|
||||
|
||||
networks:
|
||||
proxy-server-dev:
|
||||
driver: bridge
|
||||
|
||||
volumes:
|
||||
postgres-data:
|
||||
name: proxy-server-dev-postgres-data
|
||||
74
config/sql/init.sql
Normal file
74
config/sql/init.sql
Normal file
@@ -0,0 +1,74 @@
|
||||
-- nodes
|
||||
DROP TABLE IF EXISTS nodes CASCADE;
|
||||
CREATE TABLE nodes (
|
||||
id SERIAL PRIMARY KEY,
|
||||
name VARCHAR(255) NOT NULL UNIQUE,
|
||||
provider VARCHAR(255) NOT NULL,
|
||||
location VARCHAR(255) NOT NULL,
|
||||
ip_address VARCHAR(255) NOT NULL,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
deleted_at TIMESTAMP
|
||||
);
|
||||
CREATE INDEX devices_provider_index ON nodes (provider);
|
||||
CREATE INDEX devices_location_index ON nodes (location);
|
||||
|
||||
-- users
|
||||
DROP TABLE IF EXISTS users CASCADE;
|
||||
CREATE TABLE users (
|
||||
id SERIAL PRIMARY KEY,
|
||||
password VARCHAR(255) NOT NULL,
|
||||
username VARCHAR(255) NOT NULL UNIQUE,
|
||||
email VARCHAR(255) NOT NULL UNIQUE,
|
||||
phone VARCHAR(255) NOT NULL UNIQUE,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
deleted_at TIMESTAMP
|
||||
);
|
||||
|
||||
-- user_ips
|
||||
DROP TABLE IF EXISTS user_ips CASCADE;
|
||||
CREATE TABLE user_ips (
|
||||
id SERIAL PRIMARY KEY,
|
||||
user_id int NOT NULL REFERENCES users (id)
|
||||
ON UPDATE CASCADE
|
||||
ON DELETE CASCADE,
|
||||
ip_address VARCHAR(255) NOT NULL,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
deleted_at TIMESTAMP
|
||||
);
|
||||
CREATE INDEX user_ips_user_id_index ON user_ips (user_id);
|
||||
CREATE INDEX user_ips_ip_address_index ON user_ips (ip_address);
|
||||
|
||||
-- channel
|
||||
DROP TABLE IF EXISTS channels CASCADE;
|
||||
CREATE TABLE channels (
|
||||
id SERIAL PRIMARY KEY,
|
||||
user_id int NOT NULL REFERENCES users (id)
|
||||
ON UPDATE CASCADE
|
||||
ON DELETE CASCADE,
|
||||
node_id int NOT NULL REFERENCES nodes (id) --
|
||||
ON UPDATE CASCADE --
|
||||
ON DELETE SET NULL, -- 节点删除后,用户侧需要保留提取记录
|
||||
node_port int,
|
||||
protocol VARCHAR(255),
|
||||
auth_ip bool,
|
||||
auth_pass bool,
|
||||
username VARCHAR(255),
|
||||
password VARCHAR(255),
|
||||
expiration TIMESTAMP NOT NULL,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
deleted_at TIMESTAMP
|
||||
);
|
||||
CREATE INDEX channel_user_id_index ON channels (user_id);
|
||||
CREATE INDEX channel_node_id_index ON channels (node_id);
|
||||
CREATE INDEX channel_username_index ON channels (username);
|
||||
|
||||
-- ====================
|
||||
-- 填充数据
|
||||
-- ====================
|
||||
|
||||
|
||||
4
config/sql/临时迁移记录.txt
Normal file
4
config/sql/临时迁移记录.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
====================
|
||||
删除 channels.target_snapshot 不需要目标地址快照
|
||||
添加 channels.auth_ip 是否验证白名单
|
||||
添加 channels.auth_pass 是否验证密码
|
||||
49
config/test/docker-compose.yaml
Normal file
49
config/test/docker-compose.yaml
Normal file
@@ -0,0 +1,49 @@
|
||||
name: proxy-server
|
||||
|
||||
services:
|
||||
|
||||
postgres:
|
||||
container_name: proxy-server-dev-postgres
|
||||
image: postgres:17
|
||||
environment:
|
||||
POSTGRES_DB: $DB_DATABASE
|
||||
POSTGRES_USER: $DB_USERNAME
|
||||
POSTGRES_PASSWORD: $DB_PASSWORD
|
||||
ports:
|
||||
- "${DB_PORT}:5432"
|
||||
volumes:
|
||||
- postgres-data:/var/lib/postgresql/data
|
||||
networks:
|
||||
- proxy-server-test
|
||||
restart: always
|
||||
|
||||
service:
|
||||
container_name: proxy-server-dev-service
|
||||
build:
|
||||
context: ../..
|
||||
dockerfile: Dockerfile
|
||||
environment:
|
||||
APP_CTRL_PORT: $APP_CTRL_PORT
|
||||
APP_DATA_PORT: $APP_DATA_PORT
|
||||
DB_HOST: $DB_HOST
|
||||
DB_PORT: $DB_PORT
|
||||
DB_DATABASE: $DB_DATABASE
|
||||
DB_USERNAME: $DB_USERNAME
|
||||
DB_PASSWORD: $DB_PASSWORD
|
||||
DB_TIMEZONE: $DB_TIMEZONE
|
||||
ports:
|
||||
- "${APP_CTRL_PORT}:${APP_CTRL_PORT}"
|
||||
- "${APP_DATA_PORT}:${APP_DATA_PORT}"
|
||||
networks:
|
||||
- proxy-server-test
|
||||
depends_on:
|
||||
- postgres
|
||||
restart: always
|
||||
|
||||
networks:
|
||||
proxy-server-test:
|
||||
driver: bridge
|
||||
|
||||
volumes:
|
||||
postgres-data:
|
||||
name: proxy-server-test-postgres-data
|
||||
Reference in New Issue
Block a user