如何不将服务器名称重定向到应用程序?

如何不将服务器名称重定向到应用程序?

在域文件“db.myplace.mydomain.com”中,我配置了反向代理的名称(proxy.myplace.mydomain.com)和 Web 应用程序的名称(myapp.myplace.mydomain.com)。但是,当我在浏览器中输入代理的名称时,返回的是 myapp 的名称。我不希望代理名称在浏览器中返回任何内容。我该如何配置?

db.myplace.mydomain.com 文件中的设置:

proxy                   IN  A       192.168.0.20
myapp                   IN  CNAME   proxy

sites-available/myapp.conf 文件中的设置:

server {
    listen              443 ssl http2;
    listen              [::]:443 ssl http2;
    server_name         myapp.myplace.mydomain.com;

    # SSL
    ssl_certificate     /etc/nginx/ssl/certificate.crt;
    ssl_certificate_key /etc/nginx/ssl/certificate.key;

    # security
    include             nginxconfig.io/security.conf;

    # reverse proxy
    location / {
        proxy_pass http://192.168.1.250:8080;
        include    nginxconfig.io/proxy.conf;
    }

    # additional config
    include nginxconfig.io/general.conf;
}

# HTTP redirect
server {
    listen      80;
    listen      [::]:80;
    server_name myapp.myplace.mydomain.com;
    return      301 https://myapp.myplace.mydomain.com$request_uri;
}

答案1

最简单的解决方案是为 server_name proxy.myplace.mydomain.com 设置一个单独的服务器块,并将其重定向到任何位置,可以通过实际重定向,或者只是让它返回标准 HTTP 状态代码(有关详细信息,请参见下文)。

它看起来像这样......

server {
    listen 80;
    server_name proxy.myplace.mydomain.com;
    return <code>;
}

代码可以是任何正常的 HTTP 代码,但这些可能是好的:

  • 204:无内容
  • 403:禁止访问
  • 405:方法不允许
  • 410:消失了
  • 418:我是一个茶壶
  • 444:无响应
  • 501:未实现
  • 503服务不可用

因此,如果您想实现代码 444(无响应),您可以添加此内容。

server {
    listen 80;
    server_name proxy.myplace.mydomain.com;
    return 444;
}

相关内容