我想将我的nginx配置为反向代理,这将允许我执行以下操作:
像这样的请求
test.xxx.dev.example.com-> xxx.domain.dev.example.com
test.yyy.dev.example.com-> yyy.domain.dev.example.com
我当前的配置:
include <time.h>
include <stdio.h>
int main(){
clock_t start = clock(); // Execuatable code
clock_t stop = clock();
double elapsed = (double)(stop - start) * 1000.0 / CLOCKS_PER_SEC;
printf("Time elapsed in ms: %f", elapsed);
}
我遇到502错误。日志说:没有定义解析器来解析.domain.dev.example.com :(有帮助吗?
Edit1:添加解析器127.0.0.11(这是基于docker-compose的环境)时,错误“未定义解析器来解析...”消失,但出现了新错误:
.domain.dev.example.com无法解析,找不到主机。似乎由于某些原因,变量$ app没有传递给proxy_pass指令。有什么想法吗?
答案 0 :(得分:0)
好吧,看来问题出在解析器和错误的正则表达式上。下面的配置按我的预期工作:
resolver 127.0.0.11;
server {
listen 80;
server_name ~^test\.(?<app>.+)\.dev\.example\.com$;
location / {
proxy_pass http://$app.domain.dev.example.com$url;
}
}
@Richard,在我的正则表达式中,我在声明变量和值:)这是通过“?<'app>”完成的,其中app是变量名。
感谢所有提示和帮助!