首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nginx域名解析问题

Nginx域名解析问题
EN

Stack Overflow用户
提问于 2018-10-11 16:05:35
回答 1查看 327关注 0票数 1

我有一个代理服务器,它通过https将通信重定向到客户端的一些api。当我使用带有设置的上游变量( DNS $upstream_endpoint$request_uri;)的配置时,该域(动态更改IP地址)的域名解析工作正常,但我得到的响应是403 unauthorized。

当我使用没有上游(proxy_pass https://api-test.example.com/api/)的配置时,直接指向客户域它工作正常,我得到响应200,但是DNS解析器不再工作。

Nginx配置:

代码语言:javascript
复制
location /api-test.example.com/api/ {
            resolver 10.100.10.1 valid=5s;
            set $upstream_endpoint https://api-test.example.com;
            proxy_pass $upstream_endpoint$request_uri;
            #proxy_pass https://api-test.example.com/api/;
            proxy_ssl_name api-test.example.com;
            proxy_ssl_server_name on;
            proxy_set_header Host api-test.example.com;
            proxy_set_header X-Forwarded-Proto https;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
EN

回答 1

Stack Overflow用户

发布于 2018-10-11 16:56:21

通过向proxy_pass语句添加URI,请求的URI将在上游传递之前被重写。详情请参见this docuement

因此,URI /api-test.example.com/api/foo被重写为/api/foo

您可以使用rewrite...break语句实现相同的行为。详情请参见this document

代码语言:javascript
复制
location /api-test.example.com/api/ {
    rewrite ^/api-test.example.com(.*)$ $1 break;
    set $upstream_endpoint https://api-test.example.com;
    proxy_pass $upstream_endpoint;
    ...
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52755160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档