nginx反向代理简单配置不重定向

时间:2018-12-17 10:01:13

标签: docker nginx docker-compose reverse-proxy nginx-reverse-proxy

要使nginx与Docker息息相关,我有一个非常简单的**/out/crashlytics-build.properties文件+ nginx.conf,可以为1个服务运行2个容器(服务本身+ db)。
我要什么:
docker-compose->显示静态页面
localhost->显示另一个静态页面
localhost/pics->重定向到我的容器,该容器在端口3001上运行。
最后一部分(重定向到docker-container)不起作用。可以在localhost/wekan下访问该应用。

我的nginx.conf:

localhost:3001

docker-compose.yml:

user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
    worker_connections 768;
    # multi_accept on;
}

http {
    server{
        listen 80;
        location / {
            root /home/user/serverTest/up1; #index.html is here
        }
        location /wekan {               
            proxy_pass http://localhost:3001;
          rewrite ^/wekan(.*)$ $1 break; # this didnt help either 
        }
        location /pics {
            proxy_pass http://localhost/example.jpg;
        }
        location ~ \.(gif|jpg|png)$ {
            root /home/user/serverTest/data/images;
        }
    }

看看nginx错误日志,我得到了:

version: '2'


services:

  wekandb:
    image: mongo:3.2.21
    container_name: wekan-db
    restart: always
    command: mongod --smallfiles --oplogSize 128
    networks:
      - wekan-tier
    expose:
      - 27017
    volumes:
      - /home/user/wekan/wekan-db:/data/db
      - /home/user/wekan/wekan-db-dump:/dump

  wekan:
    image: quay.io/wekan/wekan
    container_name: wekan-app
    restart: always
    networks:
      - wekan-tier
    ports:
      # Docker outsideport:insideport
      - 127.0.0.1:3001:8080
    environment:
      - MONGO_URL=mongodb://wekandb:27017/wekan
      - ROOT_URL=http://localhost

所以我认为这是有道理的,因为据我了解,nginx现在将重定向添加到给定的@ /根目录下,但是显然这不是容器运行的地方。
我该如何预防?

2 个答案:

答案 0 :(得分:0)

您的nginx无法访问您的docker组合的本地网络接口。

尝试像这样绑定SELECT work_data.*, endorsement.user FROM work_data LEFT JOIN endorsement ON work_data.pid=endorsement.pid; | pid | title | user | | -- | -- | -- | | 10.1111/11 | 'Some article that has an endorsement' | 1 | | 10.2222/22 | 'Some other article that does not have an endorsement' | NULL | 的端口:

wekan

注意wekan: ports: - 127.0.0.1:3001:8080

请参见https://docs.docker.com/compose/compose-file/#ports

答案 1 :(得分:0)

问题出在docker-compose配置内。 对于任何想知道的人,您只需要通过代理addr:portaddr:port/,而第二个选项与重写部分相同,因此可以跳过。
  除此之外,我还必须将/ wekan添加到ROOT_URL内的docker-compose