有时您只想在您的服务器上建立服务器-客户端关系,即仅有localhost
。
但似乎一旦你打开一个端口进行监听,它也会在网上被监听。所以如果你避免使用 root 权限的密码,那么这个服务器似乎对网上的每个人都是开放的。
如何限制服务器localhost
仅能从内部网络进行连接,或者换句话说,拥有一个内部网络,即使机器可以访问互联网,您也只能在内部进行通信?
答案1
您可以将应用程序配置为仅监听地址 127.0.0.1(localhost),这样它就不会被外部视为开放。
例如如果我有一个 nginx 监听每个 IP 的 80 端口,还有一个 apache 监听 127.0.0.1 的 8080 端口:
# netstat -ltnp (Redacted a little to make it clearer)
Local Address State Program name
0.0.0.0:80 LISTEN nginx: master
127.0.0.1:8080 LISTEN apache
如果你从外部检查这两个端口(例如使用 nmap),你只会看到 80 端口打开,而 8080 端口关闭:
# nmap $server -p 80,8080
PORT STATE SERVICE
80/tcp open http
8080/tcp closed http-proxy
如果您尝试连接到 8080:
# telnet $server 8080
Trying $ip...
telnet: Unable to connect to remote host: Connection refused
但 80 可以工作:
# telnet $server 80
Trying $ip...
Connected to .
Escape character is '^]'.
希望能帮助到你 !