如何在docker容器proxy_pass中配置Nginx以自我托管?

时间:2018-12-02 09:57:59

标签: docker nginx

我将docker用于macOS,我想测试Nginx的proxy_pass,所以我通过以下方式启动它:

$ docker container run \
-d \
-p 127.0.0.1:8080:80 \
--rm \
--name mynginx \
--volume /Users/pvd/Downloads/backup/dockerNginxConf:/etc/nginx \
--volume /Users/pvd/Downloads/backup/dockerHTML:/usr/share/nginx/html \
nginx

部分配置文件为:

location /hello {
    proxy_pass   http://172.17.0.1:12345/hello;
}

我想要将http://127.0.0.1:8080/hello转发到http://127.0.0.1:12345/hello作为python-tornado的原型Web服务器:

import tornado.ioloop
import tornado.web

class HelloHandler(tornado.web.RequestHandler):
    def get(self):
        try:
            id = self.get_argument("id")
            print id
            self.write(id)
        except:
            self.write("error")

def make_app():
    return tornado.web.Application([
        (r"/hello", HelloHandler),
    ])

if __name__ == "__main__":
    app = make_app()
    app.listen(12345)
    tornado.ioloop.IOLoop.current().start()

在macOS的浏览器中键入404:not found时,总会有一个http://127.0.0.1:8080/hello?id=9

172.17.0.1找到了conf中的$ docker logs mynginx,我把它设为127.0.01,但仍然无法正常工作。

0 个答案:

没有答案