【发布时间】:2020-05-28 23:22:07
【问题描述】:
我一直在寻找,但我看不出我做错了什么。
基本上我有两个域,并希望根据访问的一个域路由到后端服务。
- clientkey.local
- clientkey.strapi.local
当我访问这些域中的每一个时,它会将网址重写为:
- clientkey.local/
- clientkey.strapi.local/
如果我只是访问基本域,那么添加额外的斜线是没有意义的。如果我愿意,我可以添加尾部斜杠并且仍然会出现在主页上,但它不应该自动将我重定向到那里。下面是我的 nginx 配置。
有什么想法吗?如果这很重要,我正在使用 docker-compose。我觉得我错过了一些明显的东西。
worker_processes 4;
events { worker_connections 1024; }
http {
upstream strapi_servers {
server strapi:1337;
}
upstream gallery_servers {
server gallery;
}
server {
listen 80;
server_name clientkey.strapi.local;
location / {
proxy_pass http://strapi_servers;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_pass_request_headers on;
}
}
server {
listen 80;
server_name clientkey.local;
location / {
proxy_pass http://gallery_servers;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
}
}
【问题讨论】:
-
“如果我只是访问基本域,那么添加额外的斜杠是没有意义的” -
/你正在请求域/站点根目录。没有——你是在寻求空虚吗?我认为没有请求“只是域”这样的事情。您必须在其上请求 一些 URI。 -
当然,那为什么如果你去stackoverflow.com它不显示stackoverflow.com/?
-
只是显示问题。浏览器不显示斜线,但它实际上是在请求域的根,即
/。它不能从域/主机请求“无”。 -
我认为您的问题是为什么浏览器在一种情况下(您的域)显示斜杠,而在另一种情况下不显示。但我不认为底层服务器逻辑不同(总是有斜线请求,因为空请求是不可能的)。要确认我的想法,请参阅this question。
-
我的浏览器显示斜线。我怀疑这与我的主机文件有关。我在我的主机文件中设置了 127.0.0.1 clientkey.local。当我访问“localhost”时,我的浏览器中没有出现斜杠,但是当我转到 clientkey.local 时,它确实显示了斜杠。
标签: nginx docker-compose