Nginx 重定向-保持原有域名

Nginx 重定向-保持原有域名

我使用 nginx 在一台服务器上建立了我的网站 domain.com。

每次有人点击 [1] example.com/~username 我需要显示 [2] 的内容http://example2.com/~用户名/位于其他服务器。

但保留原来的第一个域名http://example.com/~用户名

因此,当有人将 [1] 放入 nginx 请求 [2] 的内容时,但会维护 [1] 作为域名。

答案1

您希望代理传入请求。您可以在 nginx 中使用类似的配置来执行此操作:

server {
listen 80;
server_name example.com;

location / {
    proxy_pass http://example2.com;
}
}

以下是所有设置的详细信息:https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/

答案2

假设当您的 URI 以 开头时您需要向其他服务器请求任何用户名/~,最简单的变体是:

server {
    ...
    location ~ ^/(~.*) {
        proxy_pass http://example2.com/$1;
    }
}

在较新版本的 nginx 中,这将自动将HostHTTP 标头设置为example2.com,但您可能还需要设置一些其他 HTTP 标头,请参阅proxy_set_header了解更多信息。

相关内容