Unverified Commit 73c3b7a9 authored by wojiushixiaobai's avatar wojiushixiaobai Committed by GitHub

Merge pull request #1513 from wojiushixiaobai/docs

[Update]更新文档
parents bfdb047c d0162a4d
分布式部署文档 - 环境说明 分布式部署文档 - 环境说明
---------------------------------------------------- --------------------------------------------------------
说明 说明
~~~~~~~ ~~~~~~~
...@@ -31,5 +31,6 @@ Nginx 代理服务器运行 nginx 服务 ...@@ -31,5 +31,6 @@ Nginx 代理服务器运行 nginx 服务
其他 其他
~~~~~~~ ~~~~~~~
最终用户都是通过 Nginx 反向代理访问。
如需要做 HA 或 负载,按照如上方式部署多个应用,数据库做主从,然后在 nginx 代理服务器用负载即可(四层)。 如需要做 HA 或 负载,按照如上方式部署多个应用,数据库做主从,然后在 nginx 代理服务器用负载即可(四层)。
注意:录像需要自己手动同步或者存放在公共目录。 注意:录像需要自己手动同步或者存放在公共目录。
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
说明 说明
~~~~~~~ ~~~~~~~
- # 开头的行表示注释 - # 开头的行表示注释
- > 开头的行表示需要在 mysql 中执行
- $ 开头的行表示需要执行的命令 - $ 开头的行表示需要执行的命令
环境 环境
...@@ -22,7 +21,7 @@ ...@@ -22,7 +21,7 @@
$ yum upgrade -y $ yum upgrade -y
# 获取 epel-release 源 # 获取 epel-release 源
$ yum -y install epel-release $ yum -y install epel-release vim
# 设置防火墙,开发 80 端口 # 设置防火墙,开发 80 端口
$ firewall-cmd --zone=public --add-port=80/tcp --permanent $ firewall-cmd --zone=public --add-port=80/tcp --permanent
...@@ -31,7 +30,21 @@ ...@@ -31,7 +30,21 @@
# 设置 http 访问权限 # 设置 http 访问权限
$ setsebool -P httpd_can_network_connect 1 $ setsebool -P httpd_can_network_connect 1
::
# 安装 nginx # 安装 nginx
$ vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
# 非 Centos7 请参考 http://nginx.org/en/linux_packages.html#stable
::
$ yum -y install nginx $ yum -y install nginx
$ systemctl enable nginx $ systemctl enable nginx
...@@ -41,9 +54,102 @@ ...@@ -41,9 +54,102 @@
$ tar xvf luna.tar.gz $ tar xvf luna.tar.gz
$ chown -R root:root luna $ chown -R root:root luna
# 配置 Nginx(如果无法正常访问,请注释掉 nginx.conf 的 server 所有字段) ::
# 配置 Nginx
$ vim /etc/nginx/nginx.conf
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
stream {
log_format proxy '$remote_addr [$time_local] '
'$protocol $status $bytes_sent $bytes_received '
'$session_time "$upstream_addr" '
'"$upstream_bytes_sent" "$upstream_bytes_received" "$upstream_connect_time"';
access_log /var/log/nginx/tcp-access.log proxy;
open_log_file_cache off;
include /etc/nginx/conf.d/*.stream;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#关闭版本显示
server_tokens off;
#gzip 压缩传输
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascripttext/css application/xml;
gzip_vary on;
#配置代理参数
proxy_redirect off;
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_connect_timeout 90;
proxy_read_timeout 90;
proxy_send_timeout 90;
proxy_buffer_size 4k;
#缓存配置
proxy_temp_file_write_size 264k;
proxy_temp_path /var/cache/nginx/nginx_temp;
proxy_cache_path /var/cache/nginx/nginx_cache levels=1:2 keys_zone=cache_one:200m inactive=5d max_size=400m;
proxy_ignore_headers X-Accel-Expires Expires Cache-Control Set-Cookie;
include /etc/nginx/conf.d/*.conf;
}
::
$ vim /etc/nginx/conf.d/jumpserver.conf $ vim /etc/nginx/conf.d/jumpserver.conf
upstream jumpserver {
server 192.168.100.11:80 max_fails=1 fail_timeout=120s;
# server ip:port max_fails=1 fail_timeout=120s;
# 这里是 jumpserver 的后端ip ,max_fails=1 fail_timeout=120s 是 HA 参数
}
upstream cocows {
server 192.168.100.12:5000 max_fails=1 fail_timeout=120s;
# server ip:port max_fails=1 fail_timeout=120s;
# 这里是 coco ws 的后端ip ,max_fails=1 fail_timeout=120s 是 HA 参数
}
upstream guacamole {
server 192.168.100.13:8081 max_fails=1 fail_timeout=120s;
# server ip:port max_fails=1 fail_timeout=120s;
# 这里是 guacamole 的后端ip ,max_fails=1 fail_timeout=120s 是 HA 参数
}
server { server {
listen 80; listen 80;
...@@ -52,16 +158,16 @@ ...@@ -52,16 +158,16 @@
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / { location / {
proxy_pass http://192.168.100.11; # 192.168.100.11 是 jumpserver 服务器ip proxy_pass http://jumpserver; # jumpserver
} }
location /luna/ { location /luna/ {
try_files $uri / /index.html; try_files $uri / /index.html;
alias /opt/luna/; alias /opt/luna/; # luna 路径,如果修改安装目录,此处需要修改
} }
location /socket.io/ { location /socket.io/ {
proxy_pass http://192.168.100.12:5000/socket.io/; # 192.168.100.12 是 coco 服务器ip proxy_pass http://cocows/socket.io/; # coco
proxy_buffering off; proxy_buffering off;
proxy_http_version 1.1; proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade; proxy_set_header Upgrade $http_upgrade;
...@@ -69,7 +175,7 @@ ...@@ -69,7 +175,7 @@
} }
location /guacamole/ { location /guacamole/ {
proxy_pass http://192.168.100.13:8081/; # 192.168.100.13 是 docker 服务器ip proxy_pass http://guacamole/; # guacamole
proxy_buffering off; proxy_buffering off;
proxy_http_version 1.1; proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
...@@ -80,8 +186,45 @@ ...@@ -80,8 +186,45 @@
} }
} }
::
$ vim /etc/nginx/conf.d/coco.stream
stream {
upstream cocossh {
server 192.168.100.12:2222;
# server ip:port max_fails=1 fail_timeout=120s;
# 这里是 coco ssh 的后端ip ,max_fails=1 fail_timeout=120s 是 HA 参数
}
server {
listen 2222;
proxy_pass cocossh;
proxy_connect_timeout 10s;
proxy_timeout 24h; #代理超时
}
}
:: ::
# nginx 测试并启动,如果报错请按报错提示自行解决 # nginx 测试并启动,如果报错请按报错提示自行解决
$ nginx -t $ nginx -t
$ systemctl start nginx $ systemctl start nginx
# 访问 http://192.168.100.100
# 默认账号: admin 密码: admin 到会话管理-终端管理 接受 Coco Guacamole 等应用的注册
# 测试连接
$ ssh -p2222 admin@192.168.100.100
$ sftp -P2222 admin@192.168.100.100
密码: admin
# 如果是用在 Windows 下,Xshell Terminal 登录语法如下
$ ssh admin@192.168.100.100 2222
$ sftp admin@192.168.100.100 2222
密码: admin
如果能登陆代表部署成功
# sftp默认上传的位置在资产的 /tmp 目录下
# windows拖拽上传的位置在资产的 Guacamole RDP上的 G 目录下
后续的使用请参考 `快速入门 <admin_create_asset.html>`_
如遇到问题可参考 `FAQ <faq.html>`_
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
~~~~~~~ ~~~~~~~
- # 开头的行表示注释 - # 开头的行表示注释
- $ 开头的行表示需要执行的命令 - $ 开头的行表示需要执行的命令
- > 开头的行表示需要在数据库中执行
环境 环境
~~~~~~~ ~~~~~~~
...@@ -40,3 +41,5 @@ ...@@ -40,3 +41,5 @@
> grant all on jumpserver.* to 'jumpserver'@'192.168.100.11' identified by 'somepassword'; > grant all on jumpserver.* to 'jumpserver'@'192.168.100.11' identified by 'somepassword';
> flush privileges; > flush privileges;
> quit > quit
# 数据库的主从设置请参考其官方,之后会补上
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
$ source ~/.bashrc $ source ~/.bashrc
# 下载 Jumpserver # 下载 Jumpserver
$ git clone --depth=1 https://github.com/jumpserver/jumpserver.git $ git clone https://github.com/jumpserver/jumpserver.git
$ echo "source /opt/py3/bin/activate" > /opt/jumpserver/.env $ echo "source /opt/py3/bin/activate" > /opt/jumpserver/.env
$ cd /opt/jumpserver && git checkout master && git pull $ cd /opt/jumpserver && git checkout master && git pull
# 首次进入 jumpserver 文件夹会有提示,按 y 即可 # 首次进入 jumpserver 文件夹会有提示,按 y 即可
...@@ -64,7 +64,7 @@ ...@@ -64,7 +64,7 @@
$ cp config_example.py config.py $ cp config_example.py config.py
$ vi config.py $ vi config.py
# 注意对齐,不要直接复制本文档的内容 # 注意对齐,不要直接复制本文档的内容,实际内容以文件为准,本文仅供参考
**注意: 配置文件是 Python 格式,不要用 TAB,而要用空格** **注意: 配置文件是 Python 格式,不要用 TAB,而要用空格**
...@@ -95,27 +95,27 @@ ...@@ -95,27 +95,27 @@
ALLOWED_HOSTS = ['*'] ALLOWED_HOSTS = ['*']
# DEBUG 模式 True为开启 False为关闭,默认开启,生产环境推荐关闭 # DEBUG 模式 True为开启 False为关闭,默认开启,生产环境推荐关闭
# 注意:如果设置了DEBUG = False,访问8080端口页面会显示不正常,需要搭建 nginx 代理才可以正常访问 # 注意:如果设置了DEBUG = False,访问8080端口页面会显示不正常,需要搭建 nginx 代理才可以正常访问
DEBUG = False DEBUG = os.environ.get("DEBUG") or False
# 日志级别,默认为DEBUG,可调整为INFO, WARNING, ERROR, CRITICAL,默认INFO # 日志级别,默认为DEBUG,可调整为INFO, WARNING, ERROR, CRITICAL,默认INFO
LOG_LEVEL = 'ERROR' LOG_LEVEL = os.environ.get("LOG_LEVEL") or 'WARNING'
LOG_DIR = os.path.join(BASE_DIR, 'logs') LOG_DIR = os.path.join(BASE_DIR, 'logs')
# 使用的数据库配置,支持sqlite3, mysql, postgres等,默认使用sqlite3 # 使用的数据库配置,支持sqlite3, mysql, postgres等,默认使用sqlite3
# See https://docs.djangoproject.com/en/1.10/ref/settings/#databases # See https://docs.djangoproject.com/en/1.10/ref/settings/#databases
# 默认使用SQLite,如果使用其他数据库请注释下面两行 # 默认使用SQLite3,如果使用其他数据库请注释下面两行
# DB_ENGINE = 'sqlite3' # DB_ENGINE = 'sqlite3'
# DB_NAME = os.path.join(BASE_DIR, 'data', 'db.sqlite3') # DB_NAME = os.path.join(BASE_DIR, 'data', 'db.sqlite3')
# # 如果需要使用mysql或postgres,请取消下面的注释并输入正确的信息,本例使用mysql做演示 # 如果需要使用mysql或postgres,请取消下面的注释并输入正确的信息,本例使用mysql做演示(mariadb也是mysql)
DB_ENGINE = 'mysql' DB_ENGINE = os.environ.get("DB_ENGINE") or 'mysql'
DB_HOST = '127.0.0.1' DB_HOST = os.environ.get("DB_HOST") or '127.0.0.1'
DB_PORT = 3306 DB_PORT = os.environ.get("DB_PORT") or 3306
DB_USER = 'jumpserver' DB_USER = os.environ.get("DB_USER") or 'jumpserver'
DB_PASSWORD = 'somepassword' DB_PASSWORD = os.environ.get("DB_PASSWORD") or 'somepassword'
DB_NAME = 'jumpserver' DB_NAME = os.environ.get("DB_NAME") or 'jmstest'
# Django 监听的ip和端口,生产环境推荐把0.0.0.0修改成127.0.0.1,这里的意思是允许x.x.x.x访问,127.0.0.1表示仅允许自身访问 # Django 监听的ip和端口,生产环境推荐把0.0.0.0修改成127.0.0.1,这里的意思是允许x.x.x.x访问,127.0.0.1表示仅允许自身访问
# ./manage.py runserver 127.0.0.1:8080 # ./manage.py runserver 127.0.0.1:8080
...@@ -123,9 +123,11 @@ ...@@ -123,9 +123,11 @@
HTTP_LISTEN_PORT = 8080 HTTP_LISTEN_PORT = 8080
# Redis 相关设置 # Redis 相关设置
REDIS_HOST = '127.0.0.1' REDIS_HOST = os.environ.get("REDIS_HOST") or '127.0.0.1'
REDIS_PORT = 6379 REDIS_PORT = os.environ.get("REDIS_PORT") or 6379
REDIS_PASSWORD = '' REDIS_PASSWORD = os.environ.get("REDIS_PASSWORD") or ''
REDIS_DB_CELERY = os.environ.get('REDIS_DB') or 3
REDIS_DB_CACHE = os.environ.get('REDIS_DB') or 4
def __init__(self): def __init__(self):
pass pass
...@@ -170,11 +172,11 @@ ...@@ -170,11 +172,11 @@
location /media/ { location /media/ {
add_header Content-Encoding gzip; add_header Content-Encoding gzip;
root /opt/jumpserver/data/; root /opt/jumpserver/data/; # 录像位置,如果修改安装目录,此处需要修改
} }
location /static/ { location /static/ {
root /opt/jumpserver/data/; root /opt/jumpserver/data/; # 静态资源,如果修改安装目录,此处需要修改
} }
location / { location / {
...@@ -198,3 +200,5 @@ ...@@ -198,3 +200,5 @@
# 新版本更新了运行脚本,使用方式./jms start|stop|status all 后台运行请添加 -d 参数 # 新版本更新了运行脚本,使用方式./jms start|stop|status all 后台运行请添加 -d 参数
# 访问 http://192.168.100.11 默认账号: admin 密码: admin # 访问 http://192.168.100.11 默认账号: admin 密码: admin
# 多节点部署,请参考此文档,设置数据库时请选择从库,其他的一样
...@@ -80,7 +80,7 @@ ...@@ -80,7 +80,7 @@
# Jumpserver项目的url, api请求注册会使用, 如果Jumpserver没有运行在127.0.0.1:8080,请修改此处 # Jumpserver项目的url, api请求注册会使用, 如果Jumpserver没有运行在127.0.0.1:8080,请修改此处
# CORE_HOST = os.environ.get("CORE_HOST") or 'http://127.0.0.1:8080' # CORE_HOST = os.environ.get("CORE_HOST") or 'http://127.0.0.1:8080'
CORE_HOST = 'http://127.0.0.1:8080' CORE_HOST = 'http://192.168.100.100'
# 启动时绑定的ip, 默认 0.0.0.0 # 启动时绑定的ip, 默认 0.0.0.0
# BIND_HOST = '0.0.0.0' # BIND_HOST = '0.0.0.0'
...@@ -142,3 +142,5 @@ ...@@ -142,3 +142,5 @@
# 新版本更新了运行脚本,使用方式./jms start|stop|status all 后台运行请添加 -d 参数 # 新版本更新了运行脚本,使用方式./jms start|stop|status all 后台运行请添加 -d 参数
# 访问 http://192.168.100.100/terminal/terminal/ 接受 coco 注册 # 访问 http://192.168.100.100/terminal/terminal/ 接受 coco 注册
# 多节点部署请参考此文档,部署方式一样
...@@ -35,3 +35,5 @@ ...@@ -35,3 +35,5 @@
jumpserver/guacamole:latest jumpserver/guacamole:latest
# 访问 http://192.168.100.100/terminal/terminal/ 接受 guacamole 注册 # 访问 http://192.168.100.100/terminal/terminal/ 接受 guacamole 注册
# 多节点部署请参考此文档,部署方式一样,不需要做任何修改
This diff is collapsed.
二次认证(Google Auth)入口说明 二次认证(Google Auth)入口说明
-------------------------------------------------------- --------------------------------------------------------
**注意: 国内安卓设备由于无法启用google服务, 用Google Auth内置扫码会出现报错, 使用系统自带的【扫一扫】即可自动添加.**
.. image:: _static/img/faq_googleauth.jpg .. image:: _static/img/faq_googleauth.jpg
::
# 关闭也是在这里,点击此处的禁用即可
# 部分安卓手机无法使用 Google Auth ,可以尝试使用系统自带的【扫一扫】工具
# 或者尝试使用第三方软件(如Microsoft Authenticator 、身份宝等)
安装过程中常见的问题
----------------------------
1. git clone 提示 ssl 错误
::
# 一般是由于时间不同步,或者网络有问题导致的
# 可以尝试下载 releases 包
2. pip install 提示 ssl 错误
::
# 参考第一条解决
3. pip install 提示 download 错误
::
# 一般是由于网络不好,导致下载文件失败,重新执行命令即可
# 如果多次重试均无效,请更换网络环境
4. bash make_migrations.sh 时报错 from config import config as CONFIG File "/opt/jumpserver/config.py", line 38
::
# 这是由于 config.py 里面的内容格式不对,请参考安装文档的说明,把提示的内容与上一行对其即可
5. bash make_migrations.sh 时报错 Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?
::
# 一般是由于 py3 环境未载入
$ source /opt/py3/bin/activate
# 看到下面的提示符代表成功,以后运行 Jumpserver 都要先运行以上 source 命令,以下所有命令均在该虚拟环境中运行
(py3) [root@localhost py3]
# 如果已经在 py3 虚拟环境下,任然报 Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?
$ cd /opt/jumpserver/requirements
$ pip install -r requirements.txt
# 然后重新执行 bash make_migrations.sh
6. sh make_migrations.sh 报错 CommandError: Conflicting migrations detected; multiple ... django_celery_beat ...
::
# 这是由于 django-celery-beat老版本有bug引起的
$ rm -rf /opt/py3/lib/python3.6/site-packages/django_celery_beat/migrations/
$ pip uninstall django-celery-beat
$ pip install django-celery-beat
7. 执行./jms start all 后一直卡在 beat: Waking up in 1.00 minute.
::
# 如果没有error提示进程无法启动,那么这是正常现象
# 如果不想在前台启动,可以使用 ./jms start all -d 在后台启动
8. 启动 jumpserver 后,访问 8080 端口页面显示不正常
::
# 这是因为你在 config.py 里面设置了 DEBUG = False
# 跟着教程继续操作,后面搭建 nginx 代理即可正常访问
9. 执行 ./cocod start 后提示 No module named 'jms'
::
# 一般是由于 py3 环境未载入
$ source /opt/py3/bin/activate
# 看到下面的提示符代表成功,以后运行 Jumpserver 都要先运行以上 source 命令,以下所有命令均在该虚拟环境中运行
(py3) [root@localhost py3]
# 如果已经在 py3 虚拟环境下
$ cd /opt/coco/requirements
$ pip install -r requirements.txt
# 然后重新执行 ./jms start 即可
10. 执行 ./cocod start 后提示 Failed register terminal jzsas exist already
::
# 这是由于 coco 注册未成功造成的,需要重新注册 (能正常访问 jumpserver 页面后再处理)
# 到 Jumpserver后台 会话管理-终端管理 删掉 coco 的注册
$ cd /opt/coco && ./cocod stop
$ rm /opt/coco/keys/.access_key # coco, 如果你是按文档安装的,key应该在这里,如果不存在key文件直接下一步
$ ./cocod start -d # 正常运行后到Jumpserver 会话管理-终端管理 里面接受coco注册
11. 执行 ./cocod start 后提示 Failed register terminal unknow: xxxx
::
# 这是因为当前系统的 hostname 有 coco 不支持的字符,需要手动指定 coco 的 NAME
$ cd /opt/coco/
$ vim conf.py
# 项目名称, 会用来向Jumpserver注册, 识别而已, 不能重复
# NAME = "localhost"
NAME = "coco"
# 保存后重新执行 ./cocod start 即可
12. 通过 nginx 代理的端口访问 jumpserver 页面显示不正常
::
# 这是因为你没有按照教程进行安装,修改了安装目录,需要在 nginx 的配置文件里面修改资源路径
$ vim /etc/nginx/nginx.conf
...
server {
listen 80; # 代理端口,以后将通过此端口进行访问,不再通过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 /luna/ {
try_files $uri / /index.html;
alias /opt/luna/; # luna 路径,如果修改安装目录,此处需要修改
}
location /media/ {
add_header Content-Encoding gzip;
root /opt/jumpserver/data/; # 录像位置,如果修改安装目录,此处需要修改
}
location /static/ {
root /opt/jumpserver/data/; # 静态资源,如果修改安装目录,此处需要修改
}
location /socket.io/ {
proxy_pass http://localhost:5000/socket.io/; # 如果coco安装在别的服务器,请填写它的ip
proxy_buffering off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location /guacamole/ {
proxy_pass http://localhost:8081/; # 如果guacamole安装在别的服务器,请填写它的ip
proxy_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;
access_log off;
client_max_body_size 100m; # Windows 文件上传大小限制
}
location / {
proxy_pass http://localhost:8080; # 如果jumpserver安装在别的服务器,请填写它的ip
}
}
...
13. 访问 luna 页面提示 Luna是单独部署的一个程序,你需要部署luna,coco,配置nginx做url分发...
::
# 请通过 nginx 代理的端口访问 jumpserver 页面,不要再直接访问 8080 端口
Linux 资产连接说明 Linux 资产连接说明
---------------------------- ----------------------------
Linux 资产连接错误排查思路
::
(1). 检查管理用户的权限是否正确,权限需要与root权限一致
(2). 检查资产的防火墙策略,可以在资产上面新建个用户,尝试用此用户在jumpserver服务器上进行ssh连接
(3). 检查资产的python,确定版本不小于2.6,不高于3.x
(4). 检查资产的ssh策略,确保可以被jumpserver应用访问
# 案例参考. 资产是centos5.x Python版本 2.4,
$ yum -y install python26
$ mv /usr/bin/python /usr/bin/python.bak
$ ln -s /usr/bin/python2.6 /usr/bin/python
# 修改 /bin/yum 使用原来的python
$ sed -i 's@/usr/bin/python$@/usr/bin/python2.4@g' /bin/yum
1. 检查终端是否在线 1. 检查终端是否在线
:: ::
...@@ -101,5 +119,27 @@ Linux 资产连接说明 ...@@ -101,5 +119,27 @@ Linux 资产连接说明
.. image:: _static/img/faq_linux_09.jpg .. image:: _static/img/faq_linux_09.jpg
.. image:: _static/img/faq_linux_10.jpg .. image:: _static/img/faq_linux_10.jpg
10. 连接测试常见错误
::
# 提示 to use the 'ssh' connection type with passwords, you mast install the sshpass program
# Centos
$ yum -y install sshpass
# Ubuntu
$ apt-get -y install sshpass
# 注意,在 coco 服务器上面安装完成后需要重启服务。
# 提示 Authentication failure
# 一般都是资产的管理用户不正确
# 提示Failed to connect to the host via ssh: ssh_exchange_identification: read: Connection reset by peer\r\n
# 一般是资产的 ssh 或者 防火墙 做了限制,无法连接资产(资产信息填错也可能会报这个错误)
# 检查防火墙设置以及 /etc/hosts.allow /etc/hosts.deny
# 提示 "MODULE FAILURE","module_stdout":"/bin/sh: 1: /usr/bin/python: not found\r\n","module_stderr":"Shared connection to xx.xx.xx.xx closed.\r\n"
# 一般是资产 python 未安装或者 python 异常
其他问题可参考 `FAQ <faq.html>`_ 其他问题可参考 `FAQ <faq.html>`_
Windows sftp使用说明 sftp 使用说明
------------------------------------------------------- -------------------------------------------------------
在Windows上使用 sftp 工具传输文件到 Linux 系统,默认的上传目录在 /tmp ,其他目录没有权限 在Windows上使用 sftp 工具传输文件到 Linux 系统,默认的上传目录在 /tmp ,其他目录没有权限
.. image:: _static/img/faq_sftp_01.jpg .. image:: _static/img/faq_sftp_01.jpg
::
# 连接成功后,可以看到当前拥有权限的资产,打开资产,然后选择系统用户,即可到资产的 /tmp 目录
$ sftp -P2222 admin@192.168.244.144
$ cd 你的资产
$ cd 你的系统用户
# 此处即是当前资产的 /tmp 目录
Windows 资产连接说明 Windows 资产连接说明
---------------------------- ----------------------------
Windows 资产连接错误排查思路
::
(1). 如果白屏 检查nginx配置文件的guacamole设置ip是否正确,检查终端管理的gua状态是否在线,检查资产设置及系统用户是否正确;
(2). 如果显示没有权限 可能是你在 终端管理里没有接受 guacamole的注册,请接受一下
(3). 如果显示未知问题 可能是你的资产填写的端口不对,或者授权的系统用户的协议不是rdp
(4). 提示无法连接服务器,请联系管理员或查看日志 一般情况下是登录的系统账户不正确或者防火墙设置有误,可以从Windows的日志查看信息(资产的信息填写不正确也会报这个错误)
(5). 提示网络问题无法连接或者超时,请检查网络连接并重试,或联系管理员 一般情况下网络有问题,可以从Windows的日志查看信息(资产的信息填写不正确也会报这个错误)
1. 检查终端是否在线 1. 检查终端是否在线
:: ::
......
...@@ -108,7 +108,7 @@ CentOS 7 安装文档 ...@@ -108,7 +108,7 @@ CentOS 7 安装文档
$ cp config_example.py config.py $ cp config_example.py config.py
$ vi config.py $ vi config.py
# 注意对齐,不要直接复制本文档的内容 # 注意对齐,不要直接复制本文档的内容,实际内容以文件为准,本文仅供参考
**注意: 配置文件是 Python 格式,不要用 TAB,而要用空格** **注意: 配置文件是 Python 格式,不要用 TAB,而要用空格**
...@@ -139,27 +139,27 @@ CentOS 7 安装文档 ...@@ -139,27 +139,27 @@ CentOS 7 安装文档
ALLOWED_HOSTS = ['*'] ALLOWED_HOSTS = ['*']
# DEBUG 模式 True为开启 False为关闭,默认开启,生产环境推荐关闭 # DEBUG 模式 True为开启 False为关闭,默认开启,生产环境推荐关闭
# 注意:如果设置了DEBUG = False,访问8080端口页面会显示不正常,需要搭建 nginx 代理才可以正常访问 # 注意:如果设置了DEBUG = False,访问8080端口页面会显示不正常,需要搭建 nginx 代理才可以正常访问
DEBUG = False DEBUG = os.environ.get("DEBUG") or False
# 日志级别,默认为DEBUG,可调整为INFO, WARNING, ERROR, CRITICAL,默认INFO # 日志级别,默认为DEBUG,可调整为INFO, WARNING, ERROR, CRITICAL,默认INFO
LOG_LEVEL = 'ERROR' LOG_LEVEL = os.environ.get("LOG_LEVEL") or 'WARNING'
LOG_DIR = os.path.join(BASE_DIR, 'logs') LOG_DIR = os.path.join(BASE_DIR, 'logs')
# 使用的数据库配置,支持sqlite3, mysql, postgres等,默认使用sqlite3 # 使用的数据库配置,支持sqlite3, mysql, postgres等,默认使用sqlite3
# See https://docs.djangoproject.com/en/1.10/ref/settings/#databases # See https://docs.djangoproject.com/en/1.10/ref/settings/#databases
# 默认使用SQLite,如果使用其他数据库请注释下面两行 # 默认使用SQLite3,如果使用其他数据库请注释下面两行
# DB_ENGINE = 'sqlite3' # DB_ENGINE = 'sqlite3'
# DB_NAME = os.path.join(BASE_DIR, 'data', 'db.sqlite3') # DB_NAME = os.path.join(BASE_DIR, 'data', 'db.sqlite3')
# # 如果需要使用mysql或postgres,请取消下面的注释并输入正确的信息,本例使用mysql做演示 # 如果需要使用mysql或postgres,请取消下面的注释并输入正确的信息,本例使用mysql做演示(mariadb也是mysql)
DB_ENGINE = 'mysql' DB_ENGINE = os.environ.get("DB_ENGINE") or 'mysql'
DB_HOST = '127.0.0.1' DB_HOST = os.environ.get("DB_HOST") or '127.0.0.1'
DB_PORT = 3306 DB_PORT = os.environ.get("DB_PORT") or 3306
DB_USER = 'jumpserver' DB_USER = os.environ.get("DB_USER") or 'jumpserver'
DB_PASSWORD = 'somepassword' DB_PASSWORD = os.environ.get("DB_PASSWORD") or 'somepassword'
DB_NAME = 'jumpserver' DB_NAME = os.environ.get("DB_NAME") or 'jmstest'
# Django 监听的ip和端口,生产环境推荐把0.0.0.0修改成127.0.0.1,这里的意思是允许x.x.x.x访问,127.0.0.1表示仅允许自身访问 # Django 监听的ip和端口,生产环境推荐把0.0.0.0修改成127.0.0.1,这里的意思是允许x.x.x.x访问,127.0.0.1表示仅允许自身访问
# ./manage.py runserver 127.0.0.1:8080 # ./manage.py runserver 127.0.0.1:8080
...@@ -167,9 +167,11 @@ CentOS 7 安装文档 ...@@ -167,9 +167,11 @@ CentOS 7 安装文档
HTTP_LISTEN_PORT = 8080 HTTP_LISTEN_PORT = 8080
# Redis 相关设置 # Redis 相关设置
REDIS_HOST = '127.0.0.1' REDIS_HOST = os.environ.get("REDIS_HOST") or '127.0.0.1'
REDIS_PORT = 6379 REDIS_PORT = os.environ.get("REDIS_PORT") or 6379
REDIS_PASSWORD = '' REDIS_PASSWORD = os.environ.get("REDIS_PASSWORD") or ''
REDIS_DB_CELERY = os.environ.get('REDIS_DB') or 3
REDIS_DB_CACHE = os.environ.get('REDIS_DB') or 4
def __init__(self): def __init__(self):
pass pass
...@@ -317,16 +319,16 @@ CentOS 7 安装文档 ...@@ -317,16 +319,16 @@ CentOS 7 安装文档
location /luna/ { location /luna/ {
try_files $uri / /index.html; try_files $uri / /index.html;
alias /opt/luna/; alias /opt/luna/; # luna 路径,如果修改安装目录,此处需要修改
} }
location /media/ { location /media/ {
add_header Content-Encoding gzip; add_header Content-Encoding gzip;
root /opt/jumpserver/data/; root /opt/jumpserver/data/; # 录像位置,如果修改安装目录,此处需要修改
} }
location /static/ { location /static/ {
root /opt/jumpserver/data/; root /opt/jumpserver/data/; # 静态资源,如果修改安装目录,此处需要修改
} }
location /socket.io/ { location /socket.io/ {
......
...@@ -69,7 +69,7 @@ ...@@ -69,7 +69,7 @@
:: ::
$ cd /opt/ $ cd /opt/
$ git clone --depth=1 https://github.com/jumpserver/jumpserver.git && cd jumpserver && git checkout master $ git clone https://github.com/jumpserver/jumpserver.git && cd jumpserver && git checkout master
$ echo "source /opt/py3/bin/activate" > /opt/jumpserver/.env # 进入 jumpserver 目录时将自动载入 python 虚拟环境 $ echo "source /opt/py3/bin/activate" > /opt/jumpserver/.env # 进入 jumpserver 目录时将自动载入 python 虚拟环境
# 首次进入 jumpserver 文件夹会有提示,按 y 即可 # 首次进入 jumpserver 文件夹会有提示,按 y 即可
...@@ -150,27 +150,27 @@ ...@@ -150,27 +150,27 @@
ALLOWED_HOSTS = ['*'] ALLOWED_HOSTS = ['*']
# DEBUG 模式 True为开启 False为关闭,默认开启,生产环境推荐关闭 # DEBUG 模式 True为开启 False为关闭,默认开启,生产环境推荐关闭
# 注意:如果设置了DEBUG = False,访问8080端口页面会显示不正常,需要搭建 nginx 代理才可以正常访问 # 注意:如果设置了DEBUG = False,访问8080端口页面会显示不正常,需要搭建 nginx 代理才可以正常访问
DEBUG = False DEBUG = os.environ.get("DEBUG") or False
# 日志级别,默认为DEBUG,可调整为INFO, WARNING, ERROR, CRITICAL,默认INFO # 日志级别,默认为DEBUG,可调整为INFO, WARNING, ERROR, CRITICAL,默认INFO
LOG_LEVEL = 'ERROR' LOG_LEVEL = os.environ.get("LOG_LEVEL") or 'WARNING'
LOG_DIR = os.path.join(BASE_DIR, 'logs') LOG_DIR = os.path.join(BASE_DIR, 'logs')
# 使用的数据库配置,支持sqlite3, mysql, postgres等,默认使用sqlite3 # 使用的数据库配置,支持sqlite3, mysql, postgres等,默认使用sqlite3
# See https://docs.djangoproject.com/en/1.10/ref/settings/#databases # See https://docs.djangoproject.com/en/1.10/ref/settings/#databases
# 默认使用SQLite,如果使用其他数据库请注释下面两行 # 默认使用SQLite3,如果使用其他数据库请注释下面两行
# DB_ENGINE = 'sqlite3' # DB_ENGINE = 'sqlite3'
# DB_NAME = os.path.join(BASE_DIR, 'data', 'db.sqlite3') # DB_NAME = os.path.join(BASE_DIR, 'data', 'db.sqlite3')
# # 如果需要使用mysql或postgres,请取消下面的注释并输入正确的信息,本例使用mysql做演示 # 如果需要使用mysql或postgres,请取消下面的注释并输入正确的信息,本例使用mysql做演示(mariadb也是mysql)
DB_ENGINE = 'mysql' DB_ENGINE = os.environ.get("DB_ENGINE") or 'mysql'
DB_HOST = '127.0.0.1' DB_HOST = os.environ.get("DB_HOST") or '127.0.0.1'
DB_PORT = 3306 DB_PORT = os.environ.get("DB_PORT") or 3306
DB_USER = 'jumpserver' DB_USER = os.environ.get("DB_USER") or 'jumpserver'
DB_PASSWORD = 'somepassword' DB_PASSWORD = os.environ.get("DB_PASSWORD") or 'somepassword'
DB_NAME = 'jumpserver' DB_NAME = os.environ.get("DB_NAME") or 'jmstest'
# Django 监听的ip和端口,生产环境推荐把0.0.0.0修改成127.0.0.1,这里的意思是允许x.x.x.x访问,127.0.0.1表示仅允许自身访问 # Django 监听的ip和端口,生产环境推荐把0.0.0.0修改成127.0.0.1,这里的意思是允许x.x.x.x访问,127.0.0.1表示仅允许自身访问
# ./manage.py runserver 127.0.0.1:8080 # ./manage.py runserver 127.0.0.1:8080
...@@ -178,9 +178,11 @@ ...@@ -178,9 +178,11 @@
HTTP_LISTEN_PORT = 8080 HTTP_LISTEN_PORT = 8080
# Redis 相关设置 # Redis 相关设置
REDIS_HOST = '127.0.0.1' REDIS_HOST = os.environ.get("REDIS_HOST") or '127.0.0.1'
REDIS_PORT = 6379 REDIS_PORT = os.environ.get("REDIS_PORT") or 6379
REDIS_PASSWORD = '' REDIS_PASSWORD = os.environ.get("REDIS_PASSWORD") or ''
REDIS_DB_CELERY = os.environ.get('REDIS_DB') or 3
REDIS_DB_CACHE = os.environ.get('REDIS_DB') or 4
def __init__(self): def __init__(self):
pass pass
...@@ -227,7 +229,7 @@ ...@@ -227,7 +229,7 @@
**3.1 下载或 Clone 项目** **3.1 下载或 Clone 项目**
新开一个终端,连接测试机 新开一个终端
:: ::
...@@ -254,7 +256,7 @@ ...@@ -254,7 +256,7 @@
$ cp conf_example.py conf.py # 如果 coco 与 jumpserver 分开部署,请手动修改 conf.py $ cp conf_example.py conf.py # 如果 coco 与 jumpserver 分开部署,请手动修改 conf.py
$ vi conf.py $ vi conf.py
# 注意对齐,不要直接复制本文档的内容 # 注意对齐,不要直接复制本文档的内容,实际内容以文件为准,本文仅供参考
**注意: 配置文件是 Python 格式,不要用 TAB,而要用空格** **注意: 配置文件是 Python 格式,不要用 TAB,而要用空格**
...@@ -385,7 +387,7 @@ Luna 已改为纯前端,需要 Nginx 来运行访问 ...@@ -385,7 +387,7 @@ Luna 已改为纯前端,需要 Nginx 来运行访问
$ docker run --name jms_guacamole -d \ $ docker run --name jms_guacamole -d \
-p 8081:8080 -v /opt/guacamole/key:/config/guacamole/key \ -p 8081:8080 -v /opt/guacamole/key:/config/guacamole/key \
-e JUMPSERVER_KEY_DIR=/config/guacamole/key \ -e JUMPSERVER_KEY_DIR=/config/guacamole/key \
-e JUMPSERVER_SERVER=http://<填写jumpserver的url地址>:8080 \ -e JUMPSERVER_SERVER=http://<填写jumpserver的url地址> \
registry.jumpserver.org/public/guacamole:latest registry.jumpserver.org/public/guacamole:latest
这里所需要注意的是 guacamole 暴露出来的端口是 8081,若与主机上其他端口冲突请自定义一下。 这里所需要注意的是 guacamole 暴露出来的端口是 8081,若与主机上其他端口冲突请自定义一下。
...@@ -423,16 +425,16 @@ Luna 已改为纯前端,需要 Nginx 来运行访问 ...@@ -423,16 +425,16 @@ Luna 已改为纯前端,需要 Nginx 来运行访问
location /luna/ { location /luna/ {
try_files $uri / /index.html; try_files $uri / /index.html;
alias /opt/luna/; alias /opt/luna/; # luna 路径,如果修改安装目录,此处需要修改
} }
location /media/ { location /media/ {
add_header Content-Encoding gzip; add_header Content-Encoding gzip;
root /opt/jumpserver/data/; root /opt/jumpserver/data/; # 录像位置,如果修改安装目录,此处需要修改
} }
location /static/ { location /static/ {
root /opt/jumpserver/data/; root /opt/jumpserver/data/; # 静态资源,如果修改安装目录,此处需要修改
} }
location /socket.io/ { location /socket.io/ {
......
一步一步安装(CentOS) 一步一步安装(CentOS)
-------------------------- --------------------------
本文档旨在帮助用户了解各组件之间的关系
如果已经接触过之前的版本,可参考 `进阶安装文档 <quickinstall.html>`_
环境 环境
~~~~~~~ ~~~~~~~
...@@ -11,9 +14,8 @@ ...@@ -11,9 +14,8 @@
:: ::
# CentOS 7 # CentOS 7
$ setenforce 0 # 可以设置配置文件永久关闭 $ setenforce 0 # 临时关闭,重启后失效
$ systemctl stop iptables.service $ systemctl stop firewalld.service # 临时关闭,重启后失效
$ systemctl stop firewalld.service
# 修改字符集,否则可能报 input/output error的问题,因为日志里打印了中文 # 修改字符集,否则可能报 input/output error的问题,因为日志里打印了中文
$ localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8 $ localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8
...@@ -21,8 +23,8 @@ ...@@ -21,8 +23,8 @@
$ echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf $ echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf
# CentOS6 # CentOS6
$ setenforce 0 $ setenforce 0 # 临时关闭,重启后失效
$ service iptables stop $ service iptables stop # 临时关闭,重启后失效
# 修改字符集,否则可能报 input/output error的问题,因为日志里打印了中文 # 修改字符集,否则可能报 input/output error的问题,因为日志里打印了中文
$ localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8 $ localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8
...@@ -110,9 +112,12 @@ Pip 加速设置请参考 <https://segmentfault.com/a/1190000011875306> ...@@ -110,9 +112,12 @@ Pip 加速设置请参考 <https://segmentfault.com/a/1190000011875306>
:: ::
$ yum -y install redis $ yum -y install redis
$ systemctl enable redis
$ systemctl start redis $ systemctl start redis
# centos6 # centos6
$ yum -y install redis
$ chkconfig redis on
$ service redis start $ service redis start
...@@ -149,7 +154,7 @@ Pip 加速设置请参考 <https://segmentfault.com/a/1190000011875306> ...@@ -149,7 +154,7 @@ Pip 加速设置请参考 <https://segmentfault.com/a/1190000011875306>
$ cp config_example.py config.py $ cp config_example.py config.py
$ vi config.py $ vi config.py
# 注意对齐,不要直接复制本文档的内容 # 注意对齐,不要直接复制本文档的内容,实际内容以文件为准,本文仅供参考
**注意: 配置文件是 Python 格式,不要用 TAB,而要用空格** **注意: 配置文件是 Python 格式,不要用 TAB,而要用空格**
...@@ -180,27 +185,27 @@ Pip 加速设置请参考 <https://segmentfault.com/a/1190000011875306> ...@@ -180,27 +185,27 @@ Pip 加速设置请参考 <https://segmentfault.com/a/1190000011875306>
ALLOWED_HOSTS = ['*'] ALLOWED_HOSTS = ['*']
# DEBUG 模式 True为开启 False为关闭,默认开启,生产环境推荐关闭 # DEBUG 模式 True为开启 False为关闭,默认开启,生产环境推荐关闭
# 注意:如果设置了DEBUG = False,访问8080端口页面会显示不正常,需要搭建 nginx 代理才可以正常访问 # 注意:如果设置了DEBUG = False,访问8080端口页面会显示不正常,需要搭建 nginx 代理才可以正常访问
DEBUG = False DEBUG = os.environ.get("DEBUG") or False
# 日志级别,默认为DEBUG,可调整为INFO, WARNING, ERROR, CRITICAL,默认INFO # 日志级别,默认为DEBUG,可调整为INFO, WARNING, ERROR, CRITICAL,默认INFO
LOG_LEVEL = 'ERROR' LOG_LEVEL = os.environ.get("LOG_LEVEL") or 'WARNING'
LOG_DIR = os.path.join(BASE_DIR, 'logs') LOG_DIR = os.path.join(BASE_DIR, 'logs')
# 使用的数据库配置,支持sqlite3, mysql, postgres等,默认使用sqlite3 # 使用的数据库配置,支持sqlite3, mysql, postgres等,默认使用sqlite3
# See https://docs.djangoproject.com/en/1.10/ref/settings/#databases # See https://docs.djangoproject.com/en/1.10/ref/settings/#databases
# 默认使用SQLite,如果使用其他数据库请注释下面两行 # 默认使用SQLite3,如果使用其他数据库请注释下面两行
# DB_ENGINE = 'sqlite3' # DB_ENGINE = 'sqlite3'
# DB_NAME = os.path.join(BASE_DIR, 'data', 'db.sqlite3') # DB_NAME = os.path.join(BASE_DIR, 'data', 'db.sqlite3')
# # 如果需要使用mysql或postgres,请取消下面的注释并输入正确的信息,本例使用mysql做演示 # 如果需要使用mysql或postgres,请取消下面的注释并输入正确的信息,本例使用mysql做演示(mariadb也是mysql)
DB_ENGINE = 'mysql' DB_ENGINE = os.environ.get("DB_ENGINE") or 'mysql'
DB_HOST = '127.0.0.1' DB_HOST = os.environ.get("DB_HOST") or '127.0.0.1'
DB_PORT = 3306 DB_PORT = os.environ.get("DB_PORT") or 3306
DB_USER = 'jumpserver' DB_USER = os.environ.get("DB_USER") or 'jumpserver'
DB_PASSWORD = 'somepassword' DB_PASSWORD = os.environ.get("DB_PASSWORD") or 'somepassword'
DB_NAME = 'jumpserver' DB_NAME = os.environ.get("DB_NAME") or 'jmstest'
# Django 监听的ip和端口,生产环境推荐把0.0.0.0修改成127.0.0.1,这里的意思是允许x.x.x.x访问,127.0.0.1表示仅允许自身访问 # Django 监听的ip和端口,生产环境推荐把0.0.0.0修改成127.0.0.1,这里的意思是允许x.x.x.x访问,127.0.0.1表示仅允许自身访问
# ./manage.py runserver 127.0.0.1:8080 # ./manage.py runserver 127.0.0.1:8080
...@@ -208,9 +213,11 @@ Pip 加速设置请参考 <https://segmentfault.com/a/1190000011875306> ...@@ -208,9 +213,11 @@ Pip 加速设置请参考 <https://segmentfault.com/a/1190000011875306>
HTTP_LISTEN_PORT = 8080 HTTP_LISTEN_PORT = 8080
# Redis 相关设置 # Redis 相关设置
REDIS_HOST = '127.0.0.1' REDIS_HOST = os.environ.get("REDIS_HOST") or '127.0.0.1'
REDIS_PORT = 6379 REDIS_PORT = os.environ.get("REDIS_PORT") or 6379
REDIS_PASSWORD = '' REDIS_PASSWORD = os.environ.get("REDIS_PASSWORD") or ''
REDIS_DB_CELERY = os.environ.get('REDIS_DB') or 3
REDIS_DB_CACHE = os.environ.get('REDIS_DB') or 4
def __init__(self): def __init__(self):
pass pass
...@@ -257,7 +264,7 @@ Pip 加速设置请参考 <https://segmentfault.com/a/1190000011875306> ...@@ -257,7 +264,7 @@ Pip 加速设置请参考 <https://segmentfault.com/a/1190000011875306>
**3.1 下载或 Clone 项目** **3.1 下载或 Clone 项目**
新开一个终端,连接测试机,别忘了 source /opt/py3/bin/activate 新开一个终端,别忘了 source /opt/py3/bin/activate
:: ::
...@@ -430,7 +437,7 @@ Jumpserver 会话管理-终端管理(http://192.168.244.144:8080/terminal/term ...@@ -430,7 +437,7 @@ Jumpserver 会话管理-终端管理(http://192.168.244.144:8080/terminal/term
$ docker run --name jms_guacamole -d \ $ docker run --name jms_guacamole -d \
-p 8081:8080 -v /opt/guacamole/key:/config/guacamole/key \ -p 8081:8080 -v /opt/guacamole/key:/config/guacamole/key \
-e JUMPSERVER_KEY_DIR=/config/guacamole/key \ -e JUMPSERVER_KEY_DIR=/config/guacamole/key \
-e JUMPSERVER_SERVER=http://<填写jumpserver的url地址>:8080 \ -e JUMPSERVER_SERVER=http://<填写jumpserver的url地址> \
registry.jumpserver.org/public/guacamole:latest registry.jumpserver.org/public/guacamole:latest
六. 配置 Nginx 整合各组件 六. 配置 Nginx 整合各组件
...@@ -463,16 +470,16 @@ Jumpserver 会话管理-终端管理(http://192.168.244.144:8080/terminal/term ...@@ -463,16 +470,16 @@ Jumpserver 会话管理-终端管理(http://192.168.244.144:8080/terminal/term
location /luna/ { location /luna/ {
try_files $uri / /index.html; try_files $uri / /index.html;
alias /opt/luna/; alias /opt/luna/; # luna 路径,如果修改安装目录,此处需要修改
} }
location /media/ { location /media/ {
add_header Content-Encoding gzip; add_header Content-Encoding gzip;
root /opt/jumpserver/data/; root /opt/jumpserver/data/; # 录像位置,如果修改安装目录,此处需要修改
} }
location /static/ { location /static/ {
root /opt/jumpserver/data/; root /opt/jumpserver/data/; # 静态资源,如果修改安装目录,此处需要修改
} }
location /socket.io/ { location /socket.io/ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment