【发布时间】:2019-10-29 14:36:42
【问题描述】:
我的 nginx.conf 中有一条规则不起作用,我不知道为什么。根据文档,它应该可以工作。部分配置如下所示。
端口 8100 上的第一条规则起作用并将调用 http://example.com/api/domains 重定向到 https://localhost:8181/oan/resources/domains
# Working
server {
listen 8100 default_server;
server_name example.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
root /var/www/html/example;
location /api {
proxy_pass https://localhost:8181/oan/resources; break;
}
# For ReactJS to handle routes
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ / break;
}
}
}
# Not working
server {
listen 8200;
server_name api.example.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
location / {
proxy_pass https://localhost:8181/oan/resources; break;
}
}
对端口 8200 的最后一次调用:http://api.example.com:8200/domains 应该重定向到:https://localhost:8181/oan/resources/domains,但不这样做。
这个配置有什么问题,我怎样才能让端口 8200 上的最后一条规则做正确的事情,总是重定向到 https://localhost:8181/oan/resources/$uri
【问题讨论】:
-
试试:
proxy_pass https://localhost:8181/oan/resources/; -
太棒了。这就像一个魅力!!!
标签: nginx nginx-reverse-proxy jwilder-nginx-proxy