Python Aiohttp和NGINX在Docker中运行 长话短说
我想在nginx web服务器上运行aiohttp后端服务。两者都应该在docker容器中运行。此外,我的前端应用程序应该访问我的后端服务 预期行为 我希望nginxwebserver可以连接到我的后端系统aiohttp,在docker中运行 实际行为 当我试图调用aiohttp后端服务上的GET请求时,docker日志中总是出现错误 nginx|u 1 | 2018/09/29 13:48:03[错误]6#6:*1连接到上游时失败(111:连接被拒绝),客户端:172.19.0.1,服务器:,请求:“GET/toolservice/volatile?command=pslist HTTP/1.1”,上游:,主机:“localhost” nginx|u 1 | 172.19.0.1---[29/Sep/2018:13:48:03+0000]“GET/toolservice/volatility?command=pslist HTTP/1.1“502 576”-“Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/69.0.3497.100 Safari/537.36”-” Docker-compose.yml Dockerfile nginx Web服务器 Dockerfile aiohttp后端 Nginx web服务器配置 Aiohttp工具服务后端Python Aiohttp和NGINX在Docker中运行 长话短说,python,python-3.x,docker,nginx,aiohttp,Python,Python 3.x,Docker,Nginx,Aiohttp,我想在nginx web服务器上运行aiohttp后端服务。两者都应该在docker容器中运行。此外,我的前端应用程序应该访问我的后端服务 预期行为 我希望nginxwebserver可以连接到我的后端系统aiohttp,在docker中运行 实际行为 当我试图调用aiohttp后端服务上的GET请求时,docker日志中总是出现错误 nginx|u 1 | 2018/09/29 13:48:03[错误]6#6:*1连接到上游时失败(111:连接被拒绝),客户端:172.19.0.1,服务器:,
Aiohttp正在容器中的端口8001上运行
toolservice
,但您代理到端口80
proxy_pass http://toolservice;
尝试代理到8001:
proxy_pass http://toolservice:8001;
也许您需要修复toolservice
container的端口发布-我不是100%确定:
ports:
- "8001:8001"
#upstream toolservice {
# server 0.0.0.0:8001 fail_timeout=0;
#}
server {
listen 80;
#server_name localhost;
proxy_buffers 8 16k;
proxy_buffer_size 32k;
location /toolservice {
proxy_pass http://toolservice;
proxy_redirect default;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /ifs {
proxy_pass http://ifs;
proxy_redirect default;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
from aiohttp import web
from routes import setup_routes
from settings import config
app = web.Application()
setup_routes(app)
app['config'] = config
web.run_app(app, port=8001)
proxy_pass http://toolservice;
proxy_pass http://toolservice:8001;
ports:
- "8001:8001"