debian – 在这些端口上运行webserver(nginx)时,在端口80或443上使用SSH

我有一台远程Linux(Debian)机器,我想从一个非常有限的网络访问.事实上,只有两个开放端口是端口80(用于HTTP)和443(HTTPS).

在这台机器上我有nginx服务器,它运行在端口80和443上.

我之前没有做过这样的事情,并且对nginx以外的任何服务器软件(以及Minecraft并不是特别难做)相当缺乏经验.

如果有一个简单的方法来实现这一点,请告诉我.

这台机器上的ssh服务器是这样的:OpenSSH_6.0p1 Debian-4 deb7u2,OpenSSL 1.0.1e 2013年2月11日

最佳答案
restricted_net=1.2.3.0/24
iptables -t nat -A PREROUTING -s "$restricted_net" -p tcp --dport 80 \
  -j REDIRECT --to-ports 22

解开

iptables -t nat -L -nv --line-numbers

显示添加的规则的编号.如果它是该链中的第一条规则,则可以将其删除

iptables -t nat -D PREROUTING 1

它也可以直接删除:

iptables -t nat -D PREROUTING -s "$restricted_net" -p tcp --dport 80 \
  -j REDIRECT --to-ports 22

转载注明原文:debian – 在这些端口上运行webserver(nginx)时,在端口80或443上使用SSH - 代码日志