前言:
现时咱们对“控件通过nginx访问”大约比较注意,兄弟们都需要了解一些“控件通过nginx访问”的相关知识。那么小编同时在网络上网罗了一些对于“控件通过nginx访问””的相关知识,希望你们能喜欢,你们快快来了解一下吧!大家都知道xshell等运维终端工具都是使用ssh的22端口。有的时候,服务器只允许开放一个业务端口对外,比如 tomcat的8080端口,若想通过这个端口访问服务器执行一些shell命令该如何做呢?
今天就为大家介绍一个开源的命令行工具:ttyd ()。它是一个可以自定义访问端口,并 通过浏览器实现终端访问 的开源工具,使用起来也非常非常简单。
安装
wget -c -O ttyd # 权限chmod u+x ttyd # -p 指定监听端口启动 ./ttyd -p 7077 bash
大家看到了吗,几个步骤即可实现浏览器终端访问,下面我再演示一些用法。
示例启动时,开启登录验证
# 关键字 login ,默认校验启动应用的系统账户./ttyd -p 8087 login bash
开启自定义账户登录验证
# -c (格式: username:password) ./ttyd -p 8087 -c admin:admin123 bash
使用 lrzsz 上传和下载文件
# 先在服务器上安装 lrzsz,(lrzsz是一个非常好用、简单的上传下载命令,rz 上传、sz 下载,如果你还不知道它,赶紧百度下,大大提高工作效率)yum install lrzsz
补充通过 Nginx 代理 ttyd
实际的生产环境中,应用的访问基本都是通过 Nginx 进行代理访问的。ttyd 是基于websocket,需要 Nginx 开启websocket代理功能,必须明确设置Upgrade 和Connection 标题。
1)编辑 nginx.conf,在http区域内一定要添加下面配置
http { # 增加map map $http_upgrade $connection_upgrade { default upgrade; '' close; }}
2) 编辑vhosts下虚拟主机的配置文件,在location匹配配置中添加如下内容
proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade";
举例:在 conf/vhost/ 新增配置 ttyd.conf
upstream ttyd_proxy{ server 10.24.247.102:7077; } server { listen 8087; server_name 10.24.247.102; access_log /root/ttyd_eccess.log; proxy_set_header Host $host:$server_port; 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; location /ttyd { proxy_pass ; proxy_set_header Host $host:$server_port; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }
3)访问 8087 端口
怎么样,是不是很方便,关键是不受ssh的限制,远程运维起来是不是方便多了 ~
标签: #控件通过nginx访问