尝试在我的项目中使用proxy_pass,但我的某个重定向应用无法正常播放。
server {
listen 80;
location / {
root /usr/share/nginx/html/;
}
# RabbitMQ
location /rabbitmq/ {
proxy_pass http://rabbitmq:15672/;
proxy_no_cache 1;
proxy_cache_bypass 1;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}
# mongo-express:0.44.0
location /mongoui/ {
proxy_pass http://mongoui:8081/;
proxy_no_cache 1;
proxy_cache_bypass 1;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Host $host;
}
}
RabbitMQ工作正常,mongo-express没有。
它尝试从未设置为proxy的根目录/ public /加载资源。下面是几个日志:
2018/03/06 00:10:04 [error] 5#5: *13 open() "/usr/share/nginx/html/public/vendor-cd59715f645362da9f54.min.js" failed (2: No such file or directory), client: 172.16.229.1, server: , request: "GET /public/vendor-cd59715f645362da9f54.min.js HTTP/1.1", host: "172.16.229.174:8080", referrer: "http://172.16.229.174:8080/mongoui/"
172.16.229.1 - - [06/Mar/2018:00:10:04 +0000] "GET /public/vendor-cd59715f645362da9f54.min.js HTTP/1.1" 404 571 "http://172.16.229.174:8080/mongoui/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36" "-"
2018/03/06 00:10:04 [error] 5#5: *13 open() "/usr/share/nginx/html/public/index-d5bd917c50cff4d254ba.min.js" failed (2: No such file or directory), client: 172.16.229.1, server: , request: "GET /public/index-d5bd917c50cff4d254ba.min.js HTTP/1.1", host: "172.16.229.174:8080", referrer: "http://172.16.229.174:8080/mongoui/"
172.16.229.1 - - [06/Mar/2018:00:10:04 +0000] "GET /public/index-d5bd917c50cff4d254ba.min.js HTTP/1.1" 404 571 "http://172.16.229.174:8080/mongoui/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36" "-"
2018/03/06 00:10:04 [error] 5#5: *13 open() "/usr/share/nginx/html/public/img/mongo-express-logo.png" failed (2: No such file or directory), client: 172.16.229.1, server: , request: "GET /public/img/mongo-express-logo.png HTTP/1.1", host: "172.16.229.174:8080", referrer: "http://172.16.229.174:8080/mongoui/"
172.16.229.1 - - [06/Mar/2018:00:10:04 +0000] "GET /public/img/mongo-express-logo.png HTTP/1.1" 404 571 "http://172.16.229.174:8080/mongoui/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36" "-"
2018/03/06 00:10:04 [error] 5#5: *13 open() "/usr/share/nginx/html/public/img/gears.gif" failed (2: No such file or directory), client: 172.16.229.1, server: , request: "GET /public/img/gears.gif HTTP/1.1", host: "172.16.229.174:8080", referrer: "http://172.16.229.174:8080/mongoui/"
172.16.229.1 - - [06/Mar/2018:00:10:04 +0000] "GET /public/img/gears.gif HTTP/1.1" 404 571 "http://172.16.229.174:8080/mongoui/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36" "-"
2018/03/06 00:10:04 [error] 5#5: *13 open() "/usr/share/nginx/html/public/vendor-cd59715f645362da9f54.min.js" failed (2: No such file or directory), client: 172.16.229.1, server: , request: "GET /public/vendor-cd59715f645362da9f54.min.js HTTP/1.1", host: "172.16.229.174:8080", referrer: "http://172.16.229.174:8080/mongoui/"
172.16.229.1 - - [06/Mar/2018:00:10:04 +0000] "GET /public/vendor-cd59715f645362da9f54.min.js HTTP/1.1" 404 571 "http://172.16.229.174:8080/mongoui/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36" "-"
2018/03/06 00:10:04 [error] 5#5: *13 open() "/usr/share/nginx/html/public/index-d5bd917c50cff4d254ba.min.js" failed (2: No such file or directory), client: 172.16.229.1, server: , request: "GET /public/index-d5bd917c50cff4d254ba.min.js HTTP/1.1", host: "172.16.229.174:8080", referrer: "http://172.16.229.174:8080/mongoui/"
答案 0 :(得分:0)
该应用有一个环境变量,需要在docker中设置:
- ME_CONFIG_SITE_BASEURL=/mongoui
所以以下工作(没有尾部斜杠):
server {
listen 80;
location / {
root /usr/share/nginx/html/;
}
# RabbitMQ
location /rabbitmq/ {
proxy_pass http://rabbitmq:15672/;
proxy_no_cache 1;
proxy_cache_bypass 1;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}
# MongoUI
location /mongoui {
proxy_pass http://mongoui:8081;
proxy_no_cache 1;
proxy_cache_bypass 1;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}
}