我想使端口22可用的SSH服务器通过端口80上的一个子域。
我认为这应该是这样的:
server {
listen ssh.domain.tld:80;
server_name ssh.domain.tld;
location / {
proxy_pass http://localhost:22;
}
}
但它不会工作。 nginx的会接受这一点,并用此配置开始,但我只从得到空应答ssh.domain.tld:80
。
我在想什么?
您应该使用sslh 。
nginx的配置到不同的端口上比80上运行,比如800,然后配置sslh到网络流量重定向到该端口/etc/default/sslh.conf
文件。
这种设置可能需要15分钟。 或更少。
由于Nginx的版本1.9.0,NGINX支持ngx_stream_core_module模块,应该用--with流启用。 当流模块被使它们能够SSH协议TCP代理
stream {
upstream ssh {
server localhost:22;
}
server {
listen 80;
proxy_pass ssh;
} }
https://www.nginx.com/resources/admin-guide/tcp-load-balancing/
文章来源: How to configure nginx to make ssh server via subdomain.domain.tld:80 available