ubuntu源码安装jumpserver

3485 字
17 分钟
ubuntu源码安装jumpserver

一、源码安装jumpserver堡垒机#

1.1 环境准备#

  • 数据库服务器:10.22.51.91(已安装mysql8.0及redis7.2.4)
  • 堡垒机服务器:10.22.51.72(已安装python3.8.12)

1.2 数据库环境准备#

1.2.1 mysql环境准备#

Terminal window
# mysql创建数据库
create database jumpserver default charset 'utf8';
# 创建连接数据库的用户密码
create user 'jumpserver'@'%' identified by 'admin@123';
# 授权jumpserver用户登录的权限
grant all on jumpserver.* to 'jumpserver'@'%';
flush privileges;

1.2.2 redis 环境准备#

Terminal window
sed -i 's/bind 127.0.0.1/bind 0.0.0.0/' /usr/local/redis/conf/redis.conf
sed -i 's/protected-mode yes/protected-mode no/' /usr/local/redis/conf/redis.conf
# 设置Redis密码(可选,建议设置)
echo "requirepass admin@123" >> /usr/local/redis/conf/redis.conf

1.3 jumpserver核心源码下载#

1.3.1 依赖安装#

Terminal window
apt-get install -y pkg-config libxmlsec1-dev libpq-dev libffi-dev libxml2 libxslt-dev libldap2-dev libsasl2-dev sshpass mariadb-client bash-completion g++ make sshpass libmysqlclient-dev gcc python3-dev
Terminal window
# 下载源码
cd /usr/local/src
wget https://github.com/jumpserver/jumpserver/archive/refs/tags/v2.28.8.tar.gz
# 解压源码
tar -xzf jumpserver-2.28.8.tar.gz
# 移动源码并改名
mv jumpserver-2.28.8 /opt/jumpserver/core
cd /opt/jumpserver/core

1.3.2 激活虚拟环境,安装核心依赖#

Terminal window
# 创建python虚拟环境
python3 -m venv /opt/py_jumperserver
# 激活虚拟环境(后续所有Python操作均需激活)
source /opt/py_jumperserver/bin/activate
# 进入requirements目录,安装核心源码所需的依赖
cd /opt/jumpserver/core/requirements
pip install -U pip setuptools wheel
# 安装运行jumpserver核心源码所需的python依赖
pip install -r requirements.txt

1.3.3 配置jumpserver#

Terminal window
# 复制配置文件模板
cp config_example.yml config.yml
# 创建两个秘钥
# 先打印这2个变量看有没有
echo $SECRET_KEY
echo $BOOTSTRAP_TOKEN
# 生成如下2个变量的随机值,待会配置文件得用
if [ "$SECRET_KEY" = "" ]; then SECRET_KEY=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50`; echo "SECRET_KEY=$SECRET_KEY" >> ~/.bashrc; echo $SECRET_KEY; else echo $SECRET_KEY; fi
if [ "$BOOTSTRAP_TOKEN" = "" ]; then BOOTSTRAP_TOKEN=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16`; echo "BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN" >> ~/.bashrc; echo $BOOTSTRAP_TOKEN; else echo $BOOTSTRAP_TOKEN; fi
# 编辑配置文件
vim config.yml

修改以下核心配置项(其余保持默认):

# 基础配置解释
SECRET_KEY: "生成一个随机字符串(可执行 python -c 'import secrets; print(secrets.token_hex(16))' 生成)"
BOOTSTRAP_TOKEN: "生成一个随机字符串(同上)"
DEBUG: false
LOG_LEVEL: INFO
DOMAIN: "http://你的JumpServer服务器IP:8080" # 后续配置nginx后可改为域名
# 数据库配置(远程MySQL)
DB_ENGINE: mysql
DB_HOST: 10.1.1.30
DB_PORT: 3306
DB_USER: jumpserver
DB_PASSWORD: 你的MySQL密码
DB_NAME: jumpserver
# Redis配置(远程Redis)
REDIS_HOST: 10.1.1.30
REDIS_PORT: 6379
REDIS_PASSWORD: 你的Redis密码 # 若未设置密码则注释此行
REDIS_DB: 0
# 复制粘贴使用配置
SECRET_KEY: "$SECRET_KEY"
BOOTSTRAP_TOKEN: "$BOOTSTRAP_TOKEN"
DEBUG: true
LOG_LEVEL: DEBUG
SESSION_EXPIRE_AT_BROWSER_CLOSE: true
DB_ENGINE: mysql
DB_HOST: 10.22.51.91
DB_PORT: 3306
DB_USER: jumpserver
DB_PASSWORD: admin@123
DB_NAME: jumpserver
HTTP_BIND_HOST: 0.0.0.0
HTTP_LISTEN_PORT: 8080
WS_LISTEN_PORT: 8070
REDIS_HOST: 10.22.51.91
REDIS_PORT: 6379
REDIS_PASSWORD: admin@123

1.3.4 初始化数据库#

Terminal window
# 进入JumpServer目录
cd /opt/jumpserver/core/apps
# 下载 GeoLite2-City 地理 IP 数据库文件
wget https://download.jumpserver.org/files/ip/GeoLite2-City.mmdb -O common/utils/ip/geoip/GeoLite2-City.mmdb
# 下载 IPIP 免费版 IP 数据库文件
wget https://download.jumpserver.org/files/ip/ipipfree.ipdb -O common/utils/ip/ipip/ipipfree.ipdb
# 删除旧的翻译编译文件
rm -f locale/zh/LC_MESSAGES/django.mo apps/locale/zh/LC_MESSAGES/djangojs.mo
#生成数据库迁移文件
python3 ./manage.py makemigrations
# 将迁移文件写入数据库中
python3 ./manage.py migrate
# 编译生成新的翻译文件
python3 manage.py compilemessages

进入数据库查看是否写入进去

Terminal window
[root@db-30 ~]#mysql -uroot -p
Enter password:
mysql> show tables from jumpserver;
133 rows in set (0.01 sec)
# 可以看到写入了97张表

1.3.5 启动jumpserver核心#

Terminal window
#进入目录
cd /opt/jumpserver/core
# 后台启动
./jms start all -d
# 启动后查看状态,./jms --help查看更多选项
(py_jumperserver) [root@mater-22 /usr/local/jumpserver]#./jms status
gunicorn is running: 29057
flower is running: 29085
daphne is running: 29506
celery_ansible is running: 29627
celery_default is running: 30007
beat is running: 30082
# 查看启动端口
(py_jumperserver) [root@mater-22 /usr/local/jumpserver]#netstat -tunlp | grep python
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 29057/python3
tcp 0 0 0.0.0.0:5555 0.0.0.0:* LISTEN 29085/python3
tcp 0 0 0.0.0.0:8070 0.0.0.0:* LISTEN 29506/python3
tcp6 0 0 :::5555 :::* LISTEN 29085/python3
# 使用浏览器访问
10.1.1.22:8080
# 默认账户密码
admin
admin

至此,jumpserver的核心后端服务已经安装完成,此时可以退出python的虚拟环境

Terminal window
deactivate

之后启动jumpserver的核心后端服务,都需要进入到虚拟环境后在执行启动命令**

1.4 安装前端lina组件#

1.4.1 下载源码#

Terminal window
cd /usr/local/src
wget -O ./lina-v2.28.8.tar.gz https://github.com/jumpserver/lina/archive/refs/tags/v2.28.8.tar.gz
# 解压源码
tar -xzf lina-2.12.0.tar.gz
# 移动lina源码并改名
mv lina-2.12.0 /opt/jumpserver/lina

1.4.2 源码安装node.js#

1.4.2.1 下载源码#

Terminal window
cd /usr/local/src
wget https://nodejs.org/download/release/v14.16.1/node-v14.16.1-linux-x64.tar.xz
# 解压
tar -xf node-v14.16.1-linux-x64.tar.xz
# 移动并改名
mv node-v14.16.1-linux-x64 /opt/node

1.4.2.2 修改环境变量#

Terminal window
cat > /etc/profile.d/node.sh <<'EOF'
# NODE
export NODE_HOME=/opt/node
export PATH=$NODE_HOME/bin:$PATH
export NODE_PATH=$NODE_HOME/lib/node_modules
EOF
Terminal window
# 刷新文件
source /etc/profile

1.4.2.3 验证版本#

Terminal window
[root@mater-22 /usr/local/nodejs]#node -v
v14.16.1
[root@mater-22 /usr/local/nodejs]#npm -v
6.14.12

1.4.2.4 切换npm源#

Terminal window
# 切换为国内镜像源
npm config set registry https://registry.npmmirror.com/
# 验证配置
npm get registry

1.2.2.5 安装yarn工具#

Terminal window
# 全局安装yarn
npm install -g yarn
# 修改yarn镜像源
yarn config set registry https://registry.npmmirror.com/
# 验证配置
yarn config get registry

1.4.3 安装lina所需依赖#

Terminal window
# 进入目录
cd /opt/jumpserver/lina
# 执行命令安装依赖,执行后会去当前目录下寻找package.json安装所需依赖
yarn install

如果执行 yarn install 报错,这可以按照以下内容进行修改

Terminal window
# 执行命令清除之前的缓存
cd /opt/jumpserver/lina
# 1. 清理旧依赖和锁文件
rm -rf node_modules yarn.lock package-lock.json
# 永久忽略 Node.js 版本检查(核心:避免引擎报错)
yarn config set ignore-engines true
# 关闭严格 SSL 验证(解决证书问题)
yarn config set strict-ssl false
# 进行安装
yarn install

如果还不行,则更换适配的yarn版本

Terminal window
# 执行命令清除之前的缓存
cd /opt/jumpserver/lina
# 1. 清理旧依赖和锁文件
rm -rf node_modules yarn.lock package-lock.json
# 2. 安装适配的 yarn 1.22.10
npm install -g yarn@1.22.10 --registry=http://registry.npmmirror.com --unsafe-perm=true
# 3. 配置 yarn 适配 Node.js 10
yarn config set ignore-engines true
yarn config set strict-ssl false
yarn config set registry http://registry.npmmirror.com
# 4. 安装依赖
yarn install --ignore-engines

1.4.4 修改配置文件#

Terminal window
# 修改版本号
sed -i "s@Version <strong>.*</strong>@Version <strong>v2.28.8</strong>@g" src/layout/components/Footer/index.vue
# 修改配置文件
vim .env.development
Terminal window
# 全局环境变量 请勿随意改动
ENV = 'development'
# base api
VUE_APP_BASE_API = ''
VUE_APP_PUBLIC_PATH = '/ui/'
# vue-cli uses the VUE_CLI_BABEL_TRANSPILE_MODULES environment variable,
# to control whether the babel-plugin-dynamic-import-node plugin is enabled.
# It only does one thing by converting all import() to require().
# This configuration can significantly increase the speed of hot updates,
# when you have a large number of pages.
# Detail: https://github.com/vuejs/vue-cli/blob/dev/packages/@vue/babel-preset-app/index.js
VUE_CLI_BABEL_TRANSPILE_MODULES = true
# External auth
VUE_APP_LOGIN_PATH = '/core/auth/login/'
VUE_APP_LOGOUT_PATH = '/core/auth/logout/'
# Dev server for core proxy
VUE_APP_CORE_HOST = 'http://localhost:8080' # 修改成 Core 的 url 地址
VUE_APP_CORE_WS = 'ws://localhost:8070'
VUE_APP_ENV = 'development'

1.4.5 启动lina#

Terminal window
# 前台运行lina
yarn serve
# 后台运行,结束运行使用kill杀死进程即可
nohup yarn serve &

启动后访问ip:9528

1.4.6 构建lina#

使用yarn serve打开每次都要编译,过于麻烦,只适用于开发调试代码时使用。使用构建lina可以生成可部署的静态文件,用于正式上线

Terminal window
# 1. 构建生产版本(构建完成后生成lina目录)
yarn build
# 2. 把构建好的 lina 目录复制一份,带上版本号
cp -rf lina lina-v2.28.8
# 3. 把版本目录打包成压缩包,方便传输、部署到服务器
tar -czf lina-bulid-v2.28.8.tar.gz lina-v2.28.8

1.5 安装前端luna组件#

1.5.1 下载源码#

Terminal window
cd /usr/local/src
wget -O ./luna-v2.28.8.tar.gz https://github.com/jumpserver/luna/archive/refs/tags/v2.28.8.tar.gz
# 解压源码
tar -xzf luna-v2.28.8.tar.gz
# 移动lina源码并改名
mv luna-2.28.8/ /opt/jumpserver/luna

1.5.2 下载luna所需依赖#

Terminal window
# 进入 luna 项目目录
cd /opt/jumpserver/luna
# 安装适配依赖
yarn install

1.5.3 修改luna配置文件#

Terminal window
# 修改版本号
sed -i "s@[0-9].[0-9].[0-9]@v2.28.8@g" src/environments/environment.prod.ts
# 备份配置文件
cp proxy.conf.json proxy.conf.json.bak
# 编辑配置文件
vim proxy.conf.json
Terminal window
{
"/koko": {
"target": "http://localhost:5000", # KoKo 地址
"secure": false,
"ws": true
},
"/media/": {
"target": "http://localhost:8080", # Core 地址
"secure": false,
"changeOrigin": true
},
"/api/": {
"target": "http://localhost:8080", # Core 地址
"secure": false, # https ssl 需要开启
"changeOrigin": true
},
"/core": {
"target": "http://localhost:8080", # Core 地址
"secure": false,
"changeOrigin": true
},
"/static": {
"target": "http://localhost:8080", # Core 地址
"secure": false,
"changeOrigin": true
},
"/lion": {
"target": "http://localhost:9529", # Lion 地址
"secure": false,
"pathRewrite": {
"^/lion/monitor": "/monitor"
},
"ws": true,
"changeOrigin": true
},
"/omnidb": {
"target": "http://localhost:8082",
"secure": false,
"ws": true,
"changeOrigin": true
}
}

1.5.4 启动luna#

Terminal window
# 安装ng命令,添加--unsafe-perm参数,提权,让node的权限大一点
npm install -g @angular/cli --unsafe-perm
# 检查版本
ng -v
# 前台运行luna,指定端口是为了测试,不指定为本地地址
./node_modules/.bin/ng serve --proxy-config proxy.conf.json --host 0.0.0.0
# 后台运行
nohup ./node_modules/.bin/ng serve --proxy-config proxy.conf.json --host 0.0.0.0 &
# 访问地址,将ip更改为实际ip
http://ip:4200/webpack-dev-server/

1.5.5 构建luna#

与lina类似,对luna进行构建

Terminal window
# 构建生产版本(构建完成后生成luna目录)
yarn build
# 复制国际化文件到构建目录
cp -R src/assets/i18n luna/
# 备份版本目录
cp -rf luna luna-v2.28.8
# 打包成压缩包
tar -czf luna-build-v2.28.8.tar.gz luna-v2.28.8

1.6 安装coco组件#

1.6.1 下载二进制源码#

Terminal window
cd /usr/local/src
wget https://github.com/jumpserver/koko/releases/download/v2.28.7/koko-v2.28.7-linux-amd64.tar.gz
# 解压源码
tar -xf koko-v2.28.7-linux-amd64.tar.gz
# 移动lina源码并改名
mv koko-v2.28.7-linux-amd64 /opt/jumpserver/koko
cd /opt/jumpserver/koko
mv kubectl /usr/local/bin/kubectl

1.6.2 下载koko所需依赖#

Terminal window
# 安装add-apt-repository 命令,用于添加第三方软件源
apt install software-properties-common
# 添加 Redis 软件源
add-apt-repository -y ppa:redislabs/redis
# 核心客户端依赖安装
apt-get install -y mariadb-client bash-completion redis-tools
cd /usr/local/src
# 下载并部署 kubectl
wget https://download.jumpserver.org/public/kubectl-linux-amd64.tar.gz -O kubectl.tar.gz
tar -xf kubectl.tar.gz
mv kubectl /usr/local/bin/rawkubectl
# 下载并部署 helm
wget https://download.jumpserver.org/public/helm-v3.9.0-linux-amd64.tar.gz
tar -xf helm-v3.9.0-linux-amd64.tar.gz
mv linux-amd64/helm /usr/local/bin/rawhelm
# 修改权限
chmod 755 /usr/local/bin/rawkubectl /usr/local/bin/rawhelm
chown root:root /usr/local/bin/rawkubectl /usr/local/bin/rawhelm

1.6.3 源码安装go#

1.6.3.1 下载源码#

Terminal window
cd /usr/local/src
wget https://golang.google.cn/dl/go1.18.7.linux-amd64.tar.gz
tar -xf go1.18.7.linux-amd64.tar.gz
mv ./go /opt/

1.6.3.2 添加环境变量#

Terminal window
cat > /etc/profile.d/go.sh <<'EOF'
# go
export PATH=/opt/go/bin:$PATH
EOF
Terminal window
# 刷新文件
source /etc/profile

1.6.3.3 验证版本#

Terminal window
[root@ubuntu-22 /opt]# go version
go version go1.18.7 linux/amd64

1.6.4修改配置文件#

Terminal window
cd /opt/jumpserver/koko
cp config_example.yml config.yml
vim config.yml
Terminal window
# 项目名称, 会用来向Jumpserver注册, 识别而已, 不能重复
# NAME: {{ Hostname }}
# Jumpserver项目的url, api请求注册会使用
CORE_HOST: http://127.0.0.1:8080 # Core 的地址
# Bootstrap Token, 预共享秘钥, 用来注册coco使用的service account和terminal
# 请和jumpserver 配置文件中保持一致,注册完成后可以删除
BOOTSTRAP_TOKEN: "$BOOTSTRAP_TOKEN" # 和 Core config.yml 的值保持一致
# 启动时绑定的ip, 默认 0.0.0.0
BIND_HOST: 0.0.0.0
# 监听的SSH端口号, 默认2222
SSHD_PORT: 2222 # 使用 0.0.0.0:2222
# 监听的HTTP/WS端口号,默认5000
HTTPD_PORT: 5000 # 使用 0.0.0.0:5000
# 项目使用的ACCESS KEY, 默认会注册,并保存到 ACCESS_KEY_STORE中,
# 如果有需求, 可以写到配置文件中, 格式 access_key_id:access_key_secret
# ACCESS_KEY: null
# ACCESS KEY 保存的地址, 默认注册后会保存到该文件中
# ACCESS_KEY_FILE: data/keys/.access_key
# 设置日志级别 [DEBUG, INFO, WARN, ERROR, FATAL, CRITICAL]
LOG_LEVEL: DEBUG # 开发建议设置 DEBUG, 生产环境推荐使用 ERROR
# SSH连接超时时间 (default 15 seconds)
# SSH_TIMEOUT: 15
# 语言 [en,zh]
# LANGUAGE_CODE: zh
# SFTP的根目录, 可选 /tmp, Home其他自定义目录
# SFTP_ROOT: /tmp
# SFTP是否显示隐藏文件
# SFTP_SHOW_HIDDEN_FILE: false
# 是否复用和用户后端资产已建立的连接(用户不会复用其他用户的连接)
# REUSE_CONNECTION: true
# 资产加载策略, 可根据资产规模自行调整. 默认异步加载资产, 异步搜索分页; 如果为all, 则资产全部加载, 本地搜索分页.
# ASSET_LOAD_POLICY:
# zip压缩的最大额度 (单位: M)
# ZIP_MAX_SIZE: 1024M
# zip压缩存放的临时目录 /tmp
# ZIP_TMP_PATH: /tmp
# 向 SSH Client 连接发送心跳的时间间隔 (单位: 秒),默认为30, 0则表示不发送
# CLIENT_ALIVE_INTERVAL: 30
# 向资产发送心跳包的重试次数,默认为3
# RETRY_ALIVE_COUNT_MAX: 3
# 会话共享使用的类型 [local, redis], 默认local
# SHARE_ROOM_TYPE: local
# Redis配置
# REDIS_HOST: 127.0.0.1 # 如果需要部署多个 koko, 需要通过 redis 来保持会话
# REDIS_PORT: 6379
# REDIS_PASSWORD:
# REDIS_CLUSTERS:
# REDIS_DB_ROOM:

1.6.5 启动koko#

Terminal window
./koko -d

1.7 安装lion组件#

1.7.1 安装guacd#

1.7.1.1 下载源码#

Terminal window
cd /usr/local/src
wget http://download.jumpserver.org/public/guacamole-server-1.4.0.tar.gz
tar -xzf guacamole-server-1.4.0.tar.gz
cd guacamole-server-1.4.0/

1.7.1.2 安装所需依赖#

Terminal window
apt-get install -y libcairo2-dev libjpeg-turbo8-dev libpng-dev libtool-bin libossp-uuid-dev
apt-get install -y libavcodec-dev libavformat-dev libavutil-dev libswscale-dev freerdp2-dev libpango1.0-dev libssh2-1-dev libtelnet-dev libvncserver-dev libwebsockets-dev libpulse-dev libssl-dev libvorbis-dev libwebp-dev

1.7.1.3 构建guacd#

Terminal window
./configure --with-init-dir=/etc/init.d CFLAGS="-Wno-error"
make
make install
ldconfig

1.7.2 下载lion二进制包#

Terminal window
cd /usr/local/src
wget https://github.com/jumpserver/lion-release/releases/download/v2.28.8/lion-v2.28.8-linux-amd64.tar.gz
tar -xf lion-v2.28.8-linux-amd64.tar.gz
mv lion-v2.28.8-linux-amd64 /opt/jumpserver/lion

1.7.3 修改配置文件#

Terminal window
cd /opt/jumpserver/lion
cp config_example.yml config.yml
vim config.yml
Terminal window
# 项目名称, 会用来向Jumpserver注册, 识别而已, 不能重复
# NAME: {{ Hostname }}
# Jumpserver项目的url, api请求注册会使用
CORE_HOST: http://127.0.0.1:8080 # Core 的地址
# Bootstrap Token, 预共享秘钥, 用来注册使用的service account和terminal
# 请和jumpserver 配置文件中保持一致,注册完成后可以删除
BOOTSTRAP_TOKEN: "$BOOTSTRAP_TOKEN" # 和 Core config.yml 的值保持一致
# 启动时绑定的ip, 默认 0.0.0.0
BIND_HOST: 0.0.0.0
# 监听的HTTP/WS端口号,默认8081
HTTPD_PORT: 8081
# 设置日志级别 [DEBUG, INFO, WARN, ERROR, FATAL, CRITICAL]
LOG_LEVEL: DEBUG # 开发建议设置 DEBUG, 生产环境推荐使用 ERROR
# Guacamole Server ip,默认127.0.0.1
# GUA_HOST: 127.0.0.1
# Guacamole Server 端口号,默认4822
# GUA_PORT: 4822
# 会话共享使用的类型 [local, redis], 默认local
# SHARE_ROOM_TYPE: local
# Redis配置
# REDIS_HOST: 127.0.0.1
# REDIS_PORT: 6379
# REDIS_PASSWORD:
# REDIS_DB_ROOM:

1.7.4 启动guacd#

Terminal window
/etc/init.d/guacd start

1.7.5 启动lion#

Terminal window
./lion

1.8 使用nginx进行整合#

Terminal window
apt install -y nginx
nginx -v

1.8.1 整合jumpserver各组件#

Terminal window
vim /etc/nginx/conf.d/jumpserver.conf
Terminal window
server {
listen 8077;
server_name _;
client_max_body_size 5000m; # 文件大小限制
# Luna 配置
location /luna/ {
# 开发启动配置
# proxy_pass http://127.0.0.1:4200;
#proxy_pass http://127.0.0.1:4200;
# 如果构建出来了静态文件,则可以使用该配置
try_files $uri / /index.html;
alias /opt/jumpserver/luna/luna/;
expires 24h;
}
# Core data 静态资源
location /media/replay/ {
add_header Content-Encoding gzip;
root /opt/jumpserver/core/data/;
}
location /media/ {
root /opt/jumpserver/core/data/;
}
location /static/ {
root /opt/jumpserver/core/data/;
}
# KoKo Lion 配置
location /koko/ {
# 注意将模板中的组件名称替换为服务实际 ip 地址, 如都在本机部署
# proxy_pass http://127.0.0.1:5000;
proxy_pass http://127.0.0.1:5000;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_buffering off;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
# lion 配置
location /lion/ {
# 注意将模板中的组件名称替换为服务实际 ip 地址, 如都在本机部署
# proxy_pass http://127.0.0.1:8081;
proxy_pass http://127.0.0.1:8081;
proxy_buffering off;
proxy_request_buffering off;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
proxy_ignore_client_abort on;
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 6000;
}
# Core 配置
location /ws/ {
# 注意将模板中的组件名称替换为服务实际 ip 地址, 如都在本机部署
# proxy_pass http://127.0.0.1:8070;
proxy_pass http://127.0.0.1:8070;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_buffering off;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location /api/ {
# 注意将模板中的组件名称替换为服务实际 ip 地址, 如都在本机部署
# proxy_pass http://127.0.0.1:8080;
proxy_pass http://127.0.0.1:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /core/ {
# 注意将模板中的组件名称替换为服务实际 ip 地址, 如都在本机部署
# proxy_pass http://127.0.0.1:8080;
proxy_pass http://127.0.0.1:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# 前端 Lina
location /ui/ {
# 测试使用配置
# proxy_pass http://127.0.0.1:9528;
#proxy_pass http://127.0.0.1:9528;
#proxy_set_header X-Real-IP $remote_addr;
#proxy_set_header Host $host;
#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 构建静态文件后使用配置
try_files $uri / /index.html;
alias /opt/jumpserver/lina/lina/;
expires 24h;
}
location / {
rewrite ^/(.*)$ /ui/$1 last;
}
}
Terminal window
nginx -t
nginx -s reload
systemctl start nginx

1.8.2 访问使用#

访问:ip:8077

测试各个组件有无问题

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

ubuntu源码安装jumpserver
https://2233941.xyz/posts/ubuntu220源码安装jumpserver/
作者
lumifly
发布于
2026-04-25
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
lumifly
不逐世间万丈星河,自守一隅细碎明光
✨ 今日一言
" 加载中... "
——
公告
欢迎来到我的博客!这是一则示例公告。
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
标签
本年还剩 -- --%
本月还剩 -- --%
本周还剩 -- --%
距离--
--
--
天气预报
站点统计
文章
24
分类
1
标签
15
总字数
136,852
运行时长
0
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.12.1
文章许可
CC BY-NC-SA 4.0

文章目录