使用 nginx 进行域名隐藏

使用 nginx 进行域名隐藏

如何在 nginx 中执行以下操作?

我有一个托管在 example.com/id/44 上的网站,我想将我的域名 test.com 链接到该网址。我还希望网址中的域名始终为 test.com,而不是 example.com 网址。

所以 test.com --> example.com/id/44

我目前在 nginx 中有以下内容,但 URL 没有坚持到 test.com

server {
server_name www.test.eu test.eu;
access_log /srv/www/www.test.eu/logs/access.log;
error_log /srv/www/www.test.eu/logs/error.log;
root /srv/www/www.test.eu/public_html/src/public;

location / {
    rewrite ^/ http://www.example.com/id/5 break;
}

}

这在 nginx 中可能吗?

答案1

简单的回答:不。

Nginx 无法跨主机名进行重写,它只能重写 URI。您可以采用其他方式进行重写,或者必须使用 Nginx 以外的其他工具。

答案2

也许你想考虑使用 nginx 作为 test.com 的反向代理。以下代码可能会让你感兴趣:

server test.com {
               location /  {
                       proxy_pass http://www.example.com/id/5;
               }
}

相关内容