利用sslh实现端口复用

March 11th, 2013 Leave a comment Go to comments

有时候会出现多个服务需要使用同一个端口的情况,除了换端口以外,还有一个解决办法——使用sslh进行端口复用。下面介绍Debian下ssl/ssh复用443端口的配置方法。

一、前提
首先确保nginx正确配置了https页面,并且只监听本机443端口(localhost:443,其他端口也可);openssh可以保持监听22端口不变。
然后就是安装sslh:

apt-get install sslh

若出现提示框要求选择是xinetd还是standalone的时候,选择standalone。

二、配置sslh
sslh的配置很简单,就是修改/etc/default/sslh文件:

其中,***.***.***.***是你运行这些服务的公网地址,例如VPS的公网IP。
配置好以后,可以重启sslh服务,或者重启机器。

三、测试
使用putty等工具访问443端口,以及使用浏览器访问https页面,相应的SSH/SSL请求应该能够正常返回。

本文为悠然居(https://wordpress.youran.me/)的原创文章,转载请注明出处!

声明: 本文采用 BY-NC-SA 协议进行授权. 转载请注明转自: 利用sslh实现端口复用
  1. Yu | #1
    March 15th, 2013 at 18:36 |

    写两个socket占用一个服务端看看效果….

    请问listen ***.***.***.***那个,我可以写127.0.0.1么?
    CS的C和S都在本地..

    Google Chrome 25.0.1364.172 Google Chrome 25.0.1364.172 Windows 7 x64 Edition Windows 7 x64 Edition
    • root | #2
      March 15th, 2013 at 18:39 |

      最好不要写写127.0.0.1,因为可能会和https的监听端口冲突。或者你可以把https的默认端口改成其他的,不要都用443就是了。

      Firefox 19.0 Firefox 19.0 Windows XP Windows XP
    • root | #3
      March 15th, 2013 at 18:41 |

      测试自己写的两个程序就不用管这么多了,127.0.0.1也没问题。反正只要不要造成一个IP+端口上绑定多个服务就行了。

      Firefox 19.0 Firefox 19.0 Windows XP Windows XP
  1. No trackbacks yet.