在域文件“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;
}