首页 > 其他分享 >容器间访问

容器间访问

时间:2024-10-21 15:59:06浏览次数:7  
标签:容器 set http nginx 访问 header api proxy

同一主机下的不同服务间访问

最近又部署了一个前后端分离项目,但是还是学艺不精,折腾了半天

最后一个遇到的问题就是,前端容器启动了,但是始终无法连接后端的接口

版本1

这是当时的配置信息

# nginx
worker_processes 1;

events {
  worker_connections 1024;
}

http {
  include           mime.types;
  default_type      application/octet-stream;
  sendfile          on;
  keepalive_timeout 65;

  server {
    listen      80;
    server_name localhost;

    charset utf-8;

    location / {
      root      /usr/share/nginx/html;
      try_files $uri $uri/ /index.html;
      index     index.html index.htm;
    }

    location /prod-api/ {
      proxy_set_header Host            $http_host;
      proxy_set_header X-Real-IP       $remote_addr;
      proxy_set_header REMOTE-HOST     $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_pass       http://{公网ip}:28080/;
      client_max_body_size  1024m;
    }

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
      root html;
    }
  }
}
# docker-compose
services:
  api:
    container_name: malan_api
    image: malan-api:latest
    ports:
      - "28080:28080"
    environment:
      - ...
    volumes:
      - "./api/upload:/upload"
    restart: "unless-stopped"

  ui:
    container_name: malan_ui
    image: malan-ui:latest
    ports:
      - "11780:80"
    volumes:
      - "./ui/nginx.conf:/etc/nginx/nginx.conf"
    restart: "unless-stopped"

这个情况下需要开放公网的ip端口之后才能访问

版本2

# nginx
...

    location /prod-api/ {
      proxy_set_header Host            $http_host;
      proxy_set_header X-Real-IP       $remote_addr;
      proxy_set_header REMOTE-HOST     $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_pass       http://127.0.0.1:28080/;
      client_max_body_size  1024m;
    }

  ...

nginx.conf不变

主要就是转发的ip改了 因为我不想对外直接开放后端的接口 但是这样一直访问不了

我对其原因非常好奇(发现自己好蠢)

  • 容器内的127.0.0.1指向容器自身,而不是主机。如果你想从容器访问主机服务,可以使用主机的IP地址,或者在Docker for Windows和Mac中,使用host.docker.internal来访问主机。

版本3

# nginx
...

    location /prod-api/ {
      proxy_set_header Host            $http_host;
      proxy_set_header X-Real-IP       $remote_addr;
      proxy_set_header REMOTE-HOST     $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_pass       http://malan_api:28080/;
      client_max_body_size  1024m;
    }
...

直接使用服务名访问 太好了 既不用开放端口 也可以访问

标签:容器,set,http,nginx,访问,header,api,proxy
From: https://www.cnblogs.com/yuqiu2004/p/18489664

相关文章

  • Docker 的网络模式 + 容器间通讯 + TC 流量控制工具
    写在前面:        近期在忙一个两端通讯的任务,想用一定的流量控制工具来模拟不同网络下的运行情况。这里记录下学到的内容。主要包含Docker的网络配置情况和容器间通讯以及限速工具TC的介绍。一、TrafficControl工具引入TC(TrafficControl)是Linux系统中的流量......
  • 华为鸿蒙 AbilityStage 组件容器:Stage模型的舞台中心
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。华为鸿蒙系统的阶段模型为开发者提供了......
  • AWS WAF 实现精确的地理位置访问控制
    在当今全球化的互联网环境中,基于地理位置的访问控制已成为许多企业的必要需求。无论是出于法规遵从、内容分发优化,还是安全考虑,精确控制来自不同地区的访问都显得尤为重要。本文将详细介绍如何使用AWSWAF(WebApplicationFirewall)来实现这一目标,包括针对特定域名的控制和......
  • STL-常用容器-vector
    1vector基本概念功能:vector数据结构和数组非常相似,也称为单端数组vector与普通数组区别:不同之处在于数组是静态空间,而vector可以动态扩展动态扩展:并不是在原空间之后续接新空间,而是找更大的内存空间,然后将原数据拷贝新空间,释放原空间vector容器的迭代器是支持随机访......
  • pbootcms访问页面出现PHP Fatal error: Allowed memory size of 13421
    问题描述客户在使用PbootCMS时,访问首页出现以下错误:PHPFatalerror:Allowedmemorysizeof134217728bytesexhausted(triedtoallocate262144bytes)inxxx\core\database\Sqlite.phponline173PHPFatalerror:Allowedmemorysizeof134217728bytesexh......
  • windows系统配置nginx环境运行pbootcms访问首页直接404的问题
    问题描述客户在安装PbootCMS后,访问后台 /admin.php 正常,但直接访问首页或其他页面时出现404错误。运行环境为Windows+Nginx+PHP。详细经过伪静态规则问题:客户反映伪静态规则一直无法生效。代码放到服务器后,除了后台 /admin.php 可以访问,其他页面均返回404......
  • 满客宝智慧食堂系统 selectUserByOrgId 未授权访问漏洞
    1免责声明1、此脚本仅用于学习研究,不保证其合法性、准确性、有效性,请根据情况自行判断,本人对此不承担任何保证责任。2、由于此脚本仅用于学习研究,您必须在下载后24小时内将所有内容从您的计算机或手机或任何存储设备中完全删除,若违反规定引起任何事件本人对此均不负责......
  • (STL)容器
    1.容器常用数据结构有数组(array),链表(list),tree(树),栈(stack),队列(queue),集合(set),映射表(map),根据他们排列特性的不同,容器又分为序列式容器和关联式容器,序列式容器:序列容器是按照线性顺序存储元素的容器,常用的有vector,deque,list等在调用vector,deque,list时别忘记包......
  • td导航zlibrary镜像入口及国内可访问地址
    TD导航是一个综合性的网址导航网站,它致力于为用户提供便捷、高效的上网体验。在这个平台上,用户可以轻松找到各类热门网站和实用工具,无论是新闻资讯、社交娱乐、购物消费,还是学习教育、工作办公等领域,TD导航都提供了丰富的资源链接。TD导航的界面设计简洁明了,分类清晰,方便用户快速......
  • TD导航zlibrary镜像网站最新国内可访问地址(2024更新)
    TD导航是一个综合性的网址导航网站,它致力于为用户提供便捷、高效的上网体验。在这个平台上,用户可以轻松找到各类热门网站和实用工具,无论是新闻资讯、社交娱乐、购物消费,还是学习教育、工作办公等领域,TD导航都提供了丰富的资源链接。zlibrary镜像网址zlibrary最新国内可访问:h......