我怎样才能将端口80上的请求转发到同一台linux机器上的另一个端口?
我曾经通过更改nat.conf
来做到这nat.conf
,但我使用的这台机器没有NAT。 有什么select?
您可以使用iptables完成redirect:
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT iptables -A INPUT -i eth0 -p tcp --dport 8080 -j ACCEPT iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
你应该看看使用反向代理 ,如Nginx …
例如把它放在你的nginx.conf文件中:
server { listen 80; server_name your_ip_address your_server_name access_log /var/log/nginx/your_domain/access.log ; error_log /var/log/nginx/your_domain/error.log info ; location / { proxy_pass http://127.0.0.1:3000; # pass requests for dynamic content to Rails app } }
Rinetd设置更容易,我想。
刚刚发现自己在这个问题上找不到一个简单的方法。
不想在我的机器上安装Nginx来做这个简单的端口转发。
Rinetd
没有为我工作,我的发行版没有工作包。
我去了socat
。 超级简单:
# socat TCP-LISTEN:80,fork TCP:127.0.0.1:5000
必须作为su
才能在80
端口上收听。