许多网站在其记录。
在许多域名上使用 302 重定向显示重复内容
如何使所有内容重定向到仅实际使用的网站服务器。
Config:
Varnish port 80
HTTPD port 8080
443 NGINX PROXY
答案1
在 default.vcl 文件中添加以下内容
sub vcl_recv {
if ( (req.http.host ~ "^(?i)www.example.com" || req.http.host ~ "^(?i)www.example.com") && req.http.X-Forwarded-Proto !~ "(?i)https") {
return (synth(750, ""));
}
}
sub vcl_synth {
if (resp.status == 750) {
set resp.status = 301;
set resp.http.Location = "https://www.example.com" + req.url;
return(deliver);
}
}
并将以下内容添加到 nginx 配置中
server {
listen 80;
# Listen to your server ip address
server_name your-server-ip;
# Redirect all traffic comming from your-server-ip to your domain
return 301 $scheme://www.example.com$request_uri;
}
并重新启动 varnish 和 nginx
service varnish restart && service nginx restart