我想要实现的结果是:
访问 api.example.com/hello/world
就相当于访问 www.example.com/api/hellp/world
这样。就是 url 看起来好看一点。
这是 nginx 的配置

然后访问,nginx 报错:no resolver defined to resolve

我想要实现的结果是:
访问 api.example.com/hello/world
就相当于访问 www.example.com/api/hellp/world
这样。就是 url 看起来好看一点。
这是 nginx 的配置

然后访问,nginx 报错:no resolver defined to resolve
1 9200 Mar 5, 2018 |
2 barble Mar 5, 2018 这个 rewrite 就能办到,不用 proxy |
3 oonnnoo Mar 5, 2018 # 供参考 location @redirect { rewrite ^/api/(.*)$ http://api.example.com/$1 redirect; } location /api/ { proxy_set_header Host $host; proxy_pass http://api.example.com/; proxy_connect_timeout 3s; error_page 500 502 504 @redirect; } |
5 580a388da131 Mar 5, 2018 绑定子目录就好了 |
6 menduo Mar 5, 2018 没看出有什么总理 。location 换成 / 就行了吧。 |
7 menduo Mar 5, 2018 没看出有什么问题 。location 换成 / 就行了吧。 |
8 JHerschel Mar 5, 2018 在 proxy_pass 前面添加一条: " resolver 8.8.8.8; " 试试? |
9 LeungJZ OP |
10 alvinbone88 Mar 5, 2018 |
11 nextvay Mar 5, 2018 root /home/xxxx/api; |
12 beginor Mar 5, 2018 via Android 可以用 proxy_pass 或者 rewrite 都可以解决, 仔细看一下 nginx 的文档就行。 不过搭车问一下, 如果 api 中返回 http 重定结果向该怎么处理? |
14 yankebupt Mar 5, 2018 为什么我觉得这样写会不会 www.example.com/api/api/api/api......无限循环... 是不是错觉 |
15 tomczhen Mar 6, 2018 via Android 客户端支持的话可以考虑用 307 跳转 https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status/307 |
16 qiayue PRO |
18 LeungJZ OP 顶顶。 |