安装butterfly+nginx https

1. 安装butterfly

yum install python36 python36-pip python36-devel -y
pip install butterfly
pip install butterfly[themes] # If you want to use themes
pip install butterfly[systemd] # If you want to use systemd
butterfly

1.1 注册systemd服务

cd /etc/systemd/system
curl -O https://raw.githubusercontent.com/paradoxxxzero/butterfly/master/butterfly.service
curl -O https://raw.githubusercontent.com/paradoxxxzero/butterfly/master/butterfly.socket
systemctl enable butterfly.socket
systemctl start butterfly.socket

1.3 配置butterfly为非安全模式,我们使用nginx来提供https服务

使用sshd授权登录方式.

vim /etc/systemd/system/butterfly.service

[Unit]
Description=Butterfly Terminal Server [Service]
ExecStart=/usr/local/bin/butterfly.server.py --unsecure --login --pam_profile=sshd

1.4 重新启动服务即可

systemctl restart butterfly.socket

  1. nginx的配置文件

    1. 设置
server {
listen 443 ssl;
server_name servername;
ssl_certificate /home/makeit/.keys/fullchain.pem;
ssl_certificate_key /home/makeit/.keys/keys.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on; auth_basic "input you passwd";
auth_basic_user_file passwd.db;
location / {
proxy_pass http://127.0.0.1:575575;
proxy_read_timeout 300s;
proxy_connect_timeout 300s;
#后端证书文件,如果后端开启https
#proxy_ssl_certificate /etc/butterfly/ssl/butterfly_ca.crt;
#proxy_ssl_certificate_key /etc/butterfly/ssl/butterfly_ca.key;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-F $remote_addr;
proxy_http_version 1.1; #代理websocket
proxy_set_header Upgrade "websocket";
proxy_set_header Connection "Upgrade";
proxy_set_header Sec-Websocket-Version 13;#重要
proxy_set_header Connection ""; #防止客户端close,后端也close了
}

后端设置自签证书,连上后就close了. 没弄好,

改成后端使用非安全模式才可以的.

参考:

https://github.com/paradoxxxzero/butterfly

https://www.xncoding.com/2018/03/12/fullstack/nginx-websocket.html

https://ma.ttias.be/enable-keepalive-connections-in-nginx-upstream-proxy-configurations/

https://www.serverlab.ca/tutorials/linux/web-servers-linux/how-to-proxy-wss-websockets-with-nginx/

https://www.hi-linux.com/posts/42176.html

最新文章

  1. UNIX网络编程卷1 第一章 简介 读书笔记。
  2. C# 利用反射动态将字符串转换成属性对应的类型值
  3. Jsoup获取部分页面数据失败 org.jsoup.UnsupportedMimeTypeException: Unhandled content type. Must be text/*, application/xml, or application/xhtml+xml.
  4. svn错误
  5. ZeroMQ(java)中对IO的封装(StreamEngine)
  6. spark-submit常用参数
  7. Android IOS WebRTC 音视频开发总结(四三)-- 诚信交易案例分享
  8. Wall - POJ 1113(求凸包)
  9. 【N^2迪杰斯特拉】
  10. HDU 3948 不同回文子串个数
  11. java实现https请求
  12. Android开发之初识MVP模式
  13. VS2017 未找到编译器可执行文件 csc.exe
  14. vs code编写的时候自动回车的原因
  15. FineBI学习系列之FineBI的ETL处理(图文详解)
  16. Android调用系统软键盘
  17. 通过Tacker将NFV引入OpenStack
  18. 转 - ubuntu 安装node.js 与 npm
  19. Scrum Meeting 11.03
  20. Thrift初试

热门文章

  1. js校验规则--去空格、加空格
  2. 关于maven中版本控制问题
  3. 用java代码实现构造目录树
  4. web服务版智能语音对话
  5. 专心学LINUX:CentOS关闭屏幕自动锁定和睡眠
  6. 15.centos7基础学习与积累-001
  7. Linux中快速对字符串进行加密
  8. 关于MQ的几件小事:消息队列的用途、优缺点、技术选型
  9. virtual box 6.0 扩容原有磁盘空间 ubuntu18.04
  10. IDEA实用教程(七)—— IDEA的断点调试