如何在 Nginx 中将 ip:port 重定向到子域名?

如何在 Nginx 中将 ip:port 重定向到子域名?

我想将 ip:port 请求重定向到特定子域,如下所示:

xxx.xxx.xxx.xxx:8080 > app1.nilux.eu
xxx.xxx.xxx.xxx:8099 > app2.nilux.eu

编辑 :我目前使用这个配置:

ssl_certificate /crt/ssl.crt;
ssl_certificate_key /crt/ssl.key;

server {
        listen 80;
        return 301 https://$host$request_uri;
}

server {
        listen 80;
        server_name xxx.xxx.xxx.xxx;
        return 301 $scheme://nilux.eu$request_uri;
}

server {
        listen 443 ssl;
        server_name nilux.eu www.nilux.eu;
        ssl on;

        return 404;
}

server {
        listen 443 ssl;
        server_name app1.nilux.eu www.app1.nilux.eu;
        ssl on;

        location / {
                proxy_pass http://127.0.0.1:8080;
        }
}

server {
        listen 443 ssl;
        server_name app2.nilux.eu www.app2.nilux.eu;
        ssl on;

        location / {
                proxy_pass http://127.0.0.1:8099;
        }
}

但不知道如何重定向 ip:port 请求。

答案1

您快完成了!

server {
        listen 8080;
        server_name xxx.xxx.xxx.xxx;
        return 301 $scheme://my.domain.com$request_uri;
}

另一个也一样,但是改变端口:

server {
        listen 8099;
        server_name xxx.xxx.xxx.xxx;
        return 301 $scheme://other.domain.com$request_uri;
}

基本上,你告诉 Nginx 要监听哪个端口。

默认情况下,HTTP 端口为 80,因此,nginx 中的默认值为听 80

但是,如果你想通过其他端口进入网站,你只需更改指令到另一个端口。

希望这可以帮助!

答案2

只需更改服务器配置中的端口即可。

server {
  listen 8080;
  server_name 192.168.0.1;
  return 301 $scheme://nilux.eu$request_uri;
}

server {
  listen 8099;
  server_name 192.168.0.1;
  return 301 $scheme://subdomain.nilux.eu$request_uri;
}

相关内容