nginx - 从 Nginx 子路径到不同端口的 root
问题描述
我有一台服务器,其中有几个 Web 服务暴露在 docker 容器的不同端口中。
使用 nginx,我想使用子路径来浏览这些服务器。例如:我在http://myurl:8080/中有 Nextcloud, 可从http://myurl:80/nextcloud 访问。
我尝试了不同的解决方案,可能最接近的解决方案如下:
location /nextcloud/{
proxy_pass http://myurl:8080/;
}
但是通过这种方式,我丢失了 url 中的第一个参数:而不是代理http://myurl/nextcloud/a/b;我在http://myurl/nextcloud/b上被代理了,失去了 /a
解决方案
location /nagios/ {
rewrite ^/nagios(/.*)$ $1 break;
proxy_pass http://10.0.21.8:80/;
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-Proto https;
proxy_redirect off;
}
参考:https ://raymii.org/s/tutorials/NGINX_proxy_folder_to_different_root.html
推荐阅读
- amazon-web-services - Cloudformation 模板 Lambda 环境变量错误 - 属性变量的值必须是带有字符串的对象
- c - 在 c 的 not 运算符中找不到方法
- shopify - 是否可以向 shopify.com/login 提供“重定向 url”?
- asp.net - 将 ASP.NET 网站交叉编译到桌面?
- c++ - QDataWidgetMapper 将多列映射到单个自定义小部件的多个属性
- excel - 运行宏时Excel VBA屏幕闪烁问题
- node.js - 量角器网络驱动程序更新突然停止工作错误代码:135
- scala - 如何使用 Scala(SDET 自动化)测试 API?
- azure - 应用程序网关断链 SSL 测试
- angular - Angular 不显示属性值