当前位置: 首页 > 知识库问答 >
问题:

nginx docker proxy_path到服务器中的其他docker

封烈
2023-03-14

我在y服务器上运行了这两个dockers:

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

我想要做的是响应所有对Nginx服务器的请求,从/api/开始到java Docker。因此,我为我的Nginx docker使用了一个配置文件,如下所示:

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    root /opt/www;
    server_name localhost some_ip_address some_other_ip_address ;
    gzip on;
    gzip_types
        application/octet-stream
        application/atom+xml
        application/x-javascript
        application/javascript
        application/json
        application/rss+xml
        application/vnd.ms-fontobject
        application/x-font-ttf
        application/x-web-app-manifest+json
        application/xhtml+xml
        application/xml
        font/opentype
        image/svg+xml
        image/x-icon
        text/css
        text/plain
        text/x-component;

    location ~ ^/(api)/ {
        proxy_set_header Host $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;
    }
}

但是,当我从浏览器向URL中包含/api/的Nginx服务器发送请求(如http://path_to_my_server:3010/api/login)时,我得到404个未找到的响应。

我的配置文件有什么问题吗?我基本上使用了错误的解决方案吗?我该怎么做才能解决这个问题?

这样做的原因(通过nginx服务器有一个到java服务器的代理路径)是我的服务器上只有一个打开的端口,所有的请求都应该通过这个端口接收。

共有1个答案

彭宏义
2023-03-14

检查它们是否链接在一起,默认情况下它们不能互相看到。

Docker检查 grep链接

您可以在nginx中使用rewrite

 类似资料:
  • 问题内容: 我在服务器a上有一个shell脚本。该脚本将一个csv文件吐出到本地目录。问题是数据库服务器在服务器b上。在这样的设置中,如何使用 select *到outfile 中? 我懂了 使用“ LOCAL”关键字解决了加载数据文件中的问题。是否有类似的东西可以胜任? 问题答案: 只能在服务器上创建文件,而不能在客户端上创建文件。 以下是本手册针对您的情况所建议的内容: 如果要在服务器主机以外

  • 和DocerFile 很好笑因为...首先,我想把容器的名称“localhost”更改为另一个。但当我改变的时候,我不能运行Spring Bot应用程序,即使从IntelliJ。我在docker中创建了MySql的映像,并尝试在IntelliJ中进行连接。这是warking但当我想使用SpringBoot应用程序在caontainer然后是问题。我还没找到解决办法。我会非常感谢每一个帮助。 我在这

  • 我希望netty服务器A在启动时连接netty服务器B,听起来像代理,所以我尝试了netty代理示例,但它只是在中启动netty客户端,只有一个新的连接处于活动状态,客户端才会被创建。当服务器A启动时,我需要通知服务器B做一些“注册”的事情,我该怎么办?

  • 内核中其他有用的服务 模块   字符串操作   字符串操作     内存操作   内存操作     双向链表   双向链表     单向链表   单向链表   函数 void  rt_show_version (void)   该函数将打印 rt-thread rtos 的版本信息。   rt_device_t  rt_console_get_device (void)   获取控制台设备句柄  

  • 问题内容: 我不确定这个问题的正确说法是什么,但是就这样。 我想设置两个Web应用程序。一种基于golang,另一种基于apache / php(wordpress) 这些应用程序将作为单独的Google Cloud Platform API引擎托管。 我希望这些内容可以在同一域下发布,例如,主要的golang应用程序网址为www.mygolangapp.com,而wordpress网址为www.