本文介绍了如何配置Nginx以通过subdomain.domain.tld:80使ssh服务器可用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想通过端口80上的子域使端口22上的ssh服务器可用.
I want to make the ssh server on port 22 available through a subdomain on port 80.
我认为应该是这样的:
server {
listen ssh.domain.tld:80;
server_name ssh.domain.tld;
location / {
proxy_pass http://localhost:22;
}
}
但是它不起作用. nginx将接受此配置并从此配置开始,但是我只从ssh.domain.tld:80
收到空响应.
But it won't work. nginx will accept this and start with this configuration, but I only get empty responses from ssh.domain.tld:80
.
我想念什么?
推荐答案
自Nginx版本1.9.0起,NGINX支持ngx_stream_core_module模块,因此应使用--with-stream启用它.启用流模块后,可以使用ssh协议tcp代理
Since Nginx Version 1.9.0,NGINX support ngx_stream_core_module module, it should be enabled with the --with-stream. When stream module is enable they are possible to ssh protocol tcp proxy
stream {
upstream ssh {
server localhost:22;
}
server {
listen 80;
proxy_pass ssh;
} }
https://www.nginx.com/resources/管理员指南/tcp-load-balancing/
这篇关于如何配置Nginx以通过subdomain.domain.tld:80使ssh服务器可用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!