背景:买了内网穿透服务,搭建了一个自己的私有云盘,共享资料和协同工作。服务的限制有两个,一是只能绑定一个本地端口,二是带宽只有2M(钱多可以买带宽更大的。)。此处要解决第一个问题。
使用sslh。它的基本思想是,监听一个端口,根据进来的信息的协议,转到对应的本地端口上去。
步骤:1,打开要接受请求的端口,我设置了21102. 2. 建立sslh的listen和导向。
Centos7上,我使用的firewall打开的端口,查找到了如下的操作,成功。
方法一:使用firewall
1、运行命令:
firewall-cmd –get-active-zones
运行完成之后,可以看到zone名称,如下:
2、执行如下命令命令:
firewall-cmd –zone=public –add-port=21102/tcp –permanent
3、重启防火墙,运行命令:
firewall-cmd –reload
4、查看端口号是否开启,运行命令:
firewall-cmd –query-port=21102/tcp
- Centos7上,sslh的配置文件在/etc/sslh.cfg,内容如下:
1 | verbose: false; |
systemctl start sslh即可打开,就成功了
在调试过程中,可以临时打开sslh进行测试,命令:
1 | /usr/sbin/sslh --foreground --user sslh --listen 0.0.0.0:21102 --ssh 127.0.0.1:22 --ssl 127.0.0.1:443 --pidfile /var/run/sslh.pid |
- 能够同时使用http和https访问的方法:在/etc/httpd/conf.d/ssl.conf开头,注释掉Listen 443, 加入下面的东西:
1 | <IfModule mod_ssl.c> |