使用 Nginx 重写来从 IP 更改显示的 URL?

使用 Nginx 重写来从 IP 更改显示的 URL?

我找不到有关此的任何信息,所以我不知道这是否可能,但我想知道:我可以使用 NGINX 的重写模块将显示的 URL 从例如 123.123.123.123:6000/some/path 更改为类似 my.domain.com/some/path 的内容吗?

现在的情况是,我为该服务器注册了一个子域,其中 domainFactory 只是重定向到该服务器。

也许我应该换一种方式来解决这个问题?

答案1

我认为有两种方法可以解释你的问题:

1) 您可能指的是重定向,而不是“重写”(Web 服务器术语)。您希望向客户端显示域,而不是 IP。这就是重定向。

server {
    listen 123.123.123.123:6000;

    return 301 https://my.domain.com$request_uri;
}

2) 您的意思是来自那里的流量会流向特定的后端服务器。同样,我认为您不是在说重写。

server {
    listen 123.123.123.123:6000;

    location / {
        proxy_pass http://my.domain.com;
        proxy_http_version 1.1;
        proxy_set_header Connection "Keep-Alive";
        proxy_set_header Proxy-Connection "Keep-Alive";
    }
}

为了更完整,也许您已经有了 / 的内容,并且您只希望其他服务器提供某些/路径:

server {
    listen 123.123.123.123:6000;

    location ~ /some/path {
        proxy_pass http://my.domain.com;
        proxy_http_version 1.1;
        proxy_set_header Connection "Keep-Alive";
        proxy_set_header Proxy-Connection "Keep-Alive";
    }

    location / {
        proxy_pass http://123.123.123.123:80;
        proxy_http_version 1.1;
        proxy_set_header Connection "Keep-Alive";
        proxy_set_header Proxy-Connection "Keep-Alive";
    }
}

最后一种是将多个微服务系统作为一个系统公开的常用技术,从而统一域并简化 SSL。就我而言,我经常将带有 _ 的任何内容映射到我的 Elasticsearch 集群。

相关内容