我正在关闭旧的 FreeBSD 6.1 服务器,但我需要将 80 和 443 转发到它的替换服务器,同时等待那些缓存 DNS 记录的时间比我的 TTL 更长的恶意 ISP 采取行动。
我该怎么做?
答案1
L7解决方案:
您可以使用nginx作为反向代理,并将所有请求从旧 IP 重定向到新 IP,使用简单的配置如下:
server {
listen 80;
listen 443 default ssl;
server_name www.YOURDOMAIN.com YOURDOMAIN.com;
#SSL SETTING MUST BE HERE
location / {
proxy_pass http://NEW_IP_HERE/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
L4解决方案:
pf.conf:
rdr on rl0 proto tcp from any to YOUR_OLD_IP port 80 -> YOUR_NEW_IP
rdr on rl0 proto tcp from any to YOUR_OLD_IP port 443 -> YOUR_NEW_IP
不要忘记替换rl0
为您的网卡名称
然后做
# kldload pf
# pfctl -f /etc/pf.conf
# pfctl -e
答案2
使用 apache,您可以做类似的事情。
<VirtualHost *:80>
Redirect permanent / http://new.domainname.fr/
ServerName *.domainame.fr
ServerName domainame.fr
</VirtualHost>
使用子域名将强制执行新的 DNS 请求。稍后您可以强制将新域名重定向到 www。
但也许有相同的域名,而你只是在等待 DNS 更新。那么 HTTP 重定向将不起作用,而一些 iptable 转发可能会有用。
ipfw add divert 80 tcp from any to ${my_ip} 80 via ${local_if} in
ipfw add divert 443 tcp from any to ${my_ip} 443 via ${local_if} in
或者你也可以放一张空白页:
The site is moving, you have to update your DNS to IP_ADDRESS.
祝你好运
答案3
设置代理,或创建简单的 HTTP“位置:”重定向。越简单越好:它是临时的,不要浪费时间 :)
答案4
看看 NetCat,它可以监听一个端口,然后重定向到另一台服务器上的另一个端口