2016-04-28 262 views
2

我使用闪亮的服务器来建立一个端口3838上的Web应用程序,当我在我的服务器上使用nginx它运作良好。但是,当我停止我的服务器上的nginx,并尝试使用泊坞窗nginx的,我发现该网站涉及到一个“502-坏门之路”的错误和nginx的日志显示:docker nginx连接拒绝连接到上游

2016/04/28 18:51:15 [error] 8#8: *1 connect() failed (111: Connection refused) while connecting to upstream, ... 

我通过这个命令安装搬运工,nginx的:

sudo docker pull nginx 

我泊坞窗命令行是一样的东西(为清楚,我添加一些缩进):

sudo docker run --name docker-nginx -p 80:80 
    -v ~/docker-nginx/default.conf:/etc/nginx/conf.d/default.conf 
    -v /usr/share/nginx/html:/usr/share/nginx/html nginx 

我在我的家目录创建一个文件夹名“泊坞窗,nginx的”,动我的nginx的conf在此文件夹中的文件,然后删除以防万一我的原始配置文件在etc/nginx目录中。

我的nginx的conf文件看起来像这样:

server { 
    listen 80 default_server; 
    # listen [::]:80 default_server ipv6only=on; 

    root /usr/share/nginx/html; 
    index index.html index.htm; 

    # Make site accessible from http://localhost/ 
    server_name localhost; 

    location/{ 
      proxy_pass http://127.0.0.1:3838/; 
      proxy_redirect http://127.0.0.1:3838/ $scheme://$host/; 
      auth_basic "Username and Password are required"; 
      auth_basic_user_file /etc/nginx/.htpasswd; 
      # enhance the performance 
      proxy_http_version 1.1; 
      proxy_set_header Upgrade $http_upgrade; 
      proxy_set_header Connection "upgrade"; 
      proxy_set_header Host $host; 
    } 
} 

回答

3

你必须定义upstrem指令。目前,您的nginx无法代理您的Web应用程序。

http://nginx.org/en/docs/http/ngx_http_upstream_module.html

upstream backend { 
    server backend1.example.com  weight=5; 
    server backend2.example.com:8080; 
    server unix:/tmp/backend3; 

    server backup1.example.com:8080 backup; 
    server backup2.example.com:8080 backup; 
} 

server { 
    location/{ 
     proxy_pass http://backend; 
    } 
}