Nginx 重定向 *:port 到子域名

Nginx 重定向 *:port 到子域名

我正在工作Nginx,我想知道如何将所有具有特定端口的请求重定向到子域?

这是我的default.conf

server{
        listen 80 default_server;
        server_name localhost;

        location / {
                root /usr/share/nginx/html;
        }
}

server{
        listen 80;
        server_name blog.mydomain.com;

        location / {
                proxy_pass   http://my-ip:8080;
        }
}

因此,我有默认mydomain.com服务 html 文件夹,以及一个子域名blog.mydomain.com服务于运行端口 8080 的应用程序。

我的问题是当我尝试直接访问my-ip:8080,或者mydomain.com:8080服务器blog.mydomain.com:8080为运行端口 8080 的应用程序提供服务时,我想将所有这些请求重定向到blog.mydomain.com没有:8080

我该怎么做?blog.mydomain.com如果我:8080在 URL 中指定,是否会自动重定向到?

答案1

我认为您还不太了解它是如何工作的。

NGINX 不是在端口 8080 上提供文件服务的人,而是在该端口上运行的应用程序。如果要禁用端口 8080 提供文件服务,应将应用程序绑定到 127.0.0.1:8080 或使用防火墙阻止连接到该端口。

此外,由于您的配置显示您正在代理对您的 IP 的请求(如果它已被编辑,我想它是您的公共地址),在端口 8080 上实现重定向将导致重定向循环。

相关内容