将子域重定向到端口;不工作

Redirecting a subdomain to a port; not working

server {
        listen         8080 default_server;
        listen         [::]:8080 default_server;
        server_name    cad.domain.tech;
        root           /var/www/cad;
        index          index.php;

          location ~* \.php$ {
            fastcgi_pass unix:/run/php/php7.2-fpm.sock;
            include         fastcgi_params;
            fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
            fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
          }
        } 

我在我的 NGINX 站点可用中有这个,当我这样做时 IP:8080 我得到了我放在那里的网页。但是,当我 cad.domain.tech 我得到 "server not found".

这是我的页面规则和 DNS 设置:

有人有什么想法吗?

这是因为在访问 http://cad.domain.tech 时,默认情况下它会在端口 80 上请求您的服务器(如果请求以 https:// 开头,则为端口 443)。

所以您需要做的就是将端口 80 上的所有传入请求重定向到您的情况下的端口 8080。

server {
    listen 80;
    listen [::]:80;
    hostname cad.domain.tech www.cad.domain.tech;
    return 301 http://cad.domain.tech:8080
}

这应该有效。 return 301 告诉请求者这是一个永久重定向。