nginx - 如何将通配符传递给 nginx 代理主机头?
问题描述
我定义了以下 nginx 服务器(删除了许多不相关的部分):
server {
listen 80;
server_name mydomain.com *.mydomain.com;
location ~ {
proxy_pass http://localhost:3002;
proxy_set_header Host localhost;
}
}
当你去的时候它工作正常mydomain.com
。主机头localhost
按照我的预期设置。
我现在想要的是当你去test.mydomain.com
拥有主机头test.localhost
或者当你去random.mydomain.com
拥有主机头时random.localhost
。
基本上采用该通配符*
并将其放在主机标头的开头。或者如果它使用 . 则默认为localhost
(不带任何前缀)mydomain.com
。
我怎样才能做到这一点?
解决方案
推荐阅读
- ruby-on-rails - 设计/Rails 登录不起作用 - “无效的电子邮件或密码”
- c# - HTTP REST 和执行各种操作 - 基于 Web 的 Active Directory 应用程序
- c# - 我可以在枚举中保留类的实例吗?
- wpf - 带有 VisualBrush 的画布无法正确渲染图像
- r - R Markdown 参数提示
- javascript - 对于流类型,是否可以自动推断以另一个函数作为参数的函数的返回值?
- python-3.x - 在篮球数据上实现 TensorFlow 回归模型
- azure-mobile-services - Azure 移动离线同步:无法从 __operations 中删除操作
- spring - 部署在 PCF 上的应用程序试图在 localhost:8888 处查找配置,即使云代工厂提供的配置服务器已与应用程序绑定
- python - 有选择地使用生成器项目