nginx docker proxy_path到服务器中的其他docker
我有这两个docker运行在y服务器上:
docker-registry:5000/library/nginx:1.7.10.1
哪些端口是443/tcp, 0.0.0.0:3010->80/tcp
docker-registry:5000/library/nginx:1.7.10.1
443/tcp, 0.0.0.0:3010->80/tcp
docker-registry:5000/library/java:8-jre
其中的端口是0.0.0.0:9090->8080/tcp
我想要做的就是响应所有的请求到以/api/
开头的java泊坞窗的Nginx服务器。 所以,我为我的Nginx docker使用了一个configuration文件,如下所示:
服务器{ 听80 default_server; 听[::]:80 default_server; root / opt / www; server_name localhost some_ip_address some_other_ip_address; gzip on; gzip_types 应用/八位字节stream 应用/primefaces+ xml的 应用程序/ x-JavaScript的 应用程序/ JavaScript的 应用程序/ JSON 应用/ RSS + xml的 应用/ vnd.ms-fontobject 应用程序/ x-字体-TTF 应用程序/ x-web应用舱单+ JSON 应用/ XHTML + xml的 应用程序/ XML 字体/ OpenType字体 图像/ SVG + xml的 图像/ X-图标 文/ CSS 纯文本/ 文本/ x分量; 位置〜^ /(api)/ { proxy_set_header主机$ http_host; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for; proxy_pass http:// simorgh-java:8080; } }
但是当我发送请求从我的浏览器到我的Nginx服务器包含/api/
在URL(如http://path_to_my_server:3010/api/login
)我得到404 Not Found响应。
在我的configuration文件中是否有任何错误? 我基本上使用错误的解决scheme? 我该怎么做才能解决这个问题?
原因(具有通过nginx服务器的Java服务器的代理path)是我只有一个端口是在我的服务器上打开,所有的请求应该通过接收。
检查一下,看他们是否连接在一起,默认情况下,他们不能看到对方。
docker inspect <your container> | grep Links
你可以在nginx中使用重写
使用Nginx创build临时和永久redirect
- 如何debuggingREDIS,APACHE发出一个Docker容器?
- TensorFlow Docker没有python3-tk包
- 使用Docker按需运行远程Bamboo代理
- Docker Swarm:如何处理持久数据(例如数据库)
- 使用dockerfile在mysql中创build一个默认的数据库
- 如何将官方phpmyadmin docker镜像的访问url更改为http:// localhost / phpmyadmin?
- 与docker的Django不运行自定义应用程序的迁移
- 在成功安装GPU Caffe后,将Caffe作为CPU运行
- 如何在Jenkinspipe道中使用嵌套的docker.image('test_image')。inside()