docker - Nginx 重定向到后端-nginx 服务器返回错误的端口
问题描述
我正在开发一些 docker 容器,其中有一个“主”nginx 主机,然后代理到其他 nginx 主机
server {
listen 80;
server_name mcaq.me www.mcaq.me files.mcaq.me dev.mcaq.me priv.mcaq.me;
location / {
proxy_pass http://mcaq:8080;
proxy_redirect http://mcaq:8080/;
proxy_set_header Host $http_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;
}
}
这个(上图)是主要的 nginx 容器
server {
listen 8080;
index index.html index.php;
server_name mcaq.me www.mcaq.me;
root /code;
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass localhost:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
这(上图)是其中一个子 nginx 容器的示例 主 nginx 服务器在运行后由 certbot 控制,因此实际上正在侦听 443 ssl 这在连接到https://mcaq.me时表现如我所料/ 然后,当去https://mcaq.me/portfolio时,它会中断
它显示了 8080 端口,我不明白如果您改为使用https://mcaq.me/portfolio/ 它按预期工作我尝试了不同的方法,例如使用 proxy_redirect,但我正在努力寻找解决方案,或者了解问题出在任何建议,或者如果您需要更多信息,请告诉我。干杯!
解决方案
推荐阅读
- android - 如何创建 .xapk 文件?我可以从 .apk 和 .obb 文件中制作它吗?
- python - 在同一个列表中减去两次以找到持续时间
- regex - 一个捕获组中的正则表达式条件匹配
- node-sass - Github-Actions 中的 Node-sass 绑定问题
- node.js - 共享主机上的节点 JS 服务器 - 在使用 .htaccess 的特定端口上
- javascript - 在javascript中,如果条件是returng false?
- javascript - 在 php laravel web 应用程序中突出显示导航栏上的当前页面
- wpf - 如何使用 MahApps 在所有应用程序窗口上设置 Windows 10 标题栏按钮样式
- amazon-web-services - EC2/ECS 跨账户无服务器部署
- python - python中基于调用深度的变量repr