我有一个 nginx 服务器,我想在anything.mydomain.com
请求时返回 404,除非anything
是www
,mypythonapp1
或者mypythonapp2
我在以下位置创建了一个00-noredirect
文件/etc/nginx/sites-enabled
:
server {
listen 80;
listen 443 ssl;
server_name _;
return 404;
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,一切都被重定向到mypythonapp1
.
其他服务器块如下:
server {
listen mypythonapp1.mydomain.com:80;
server_name mypythonapp1.mydomain.com;
(...)
listen mypythonapp1.mydomain.com:443 ssl; # managed by Certbot
(...)
}
Run Code Online (Sandbox Code Playgroud)
我认为这可能与certbot
my 中的添加有关/etc/nginx/sites-enabled/mypythonapp1
,即使我不确定:
(...)
if ($scheme != "https") {
return 301 https://$host$request_uri;
} # managed by Certbot
(...)
Run Code Online (Sandbox Code Playgroud)
有什么我必须添加00-noredirect
才能避免这种不需要的行为吗?
编辑:根据@Tim 的要求,这是我几乎完整的 nginx 配置:
server { …
Run Code Online (Sandbox Code Playgroud)