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

TRAEFIK:通过本地IP地址和外部(https)访问服务?

宗苗宣
2023-03-14

这是我的docker-compose.yml代码:

version: '3'

networks:
  proxy:
    external: true

services:
  reverse-proxy:
    container_name: ReverseProxy
    image: traefik
    restart: always
    command: --web --docker
    ports:
      - 8080:8080
      - 80:80
      - 443:443
    networks:
      - proxy
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ~/docker/traefik/traefik.toml:/traefik.toml
      - ~/docker/traefik/acme.json:/acme.json

  homeassistant:
    image: homeassistant/home-assistant
    container_name: home-assistant
    restart: unless-stopped
    networks:
      - proxy
    expose:
      - 8123
    volumes:
     - ~/docker/homeassistant:/config
     - /etc/localtime:/etc/localtime:ro
    labels:
      - "traefik.backend=home-assistant"
      - "traefik.docker.network=proxy"
      - "traefik.frontend.rule=Host:MY-DOMAIN.COM"
      - "traefik.enable=true"
      - "traefik.port=8123"
      - "traefik.default.protocol=http"


下面是我的traefik.toml代码:

debug = false

logLevel = "ERROR"
defaultEntryPoints = ["https","http"]

[entryPoints]
  [entryPoints.http]
  address = ":80"
    [entryPoints.http.redirect]
    entryPoint = "https"
  [entryPoints.https]
  address = ":443"
  [entryPoints.https.tls]

[retry]

[web]
address = ":8080"

[docker]
endpoint = "unix:///var/run/docker.sock"
domain = "MY-DOMAIN.COM"
watch = true
exposedbydefault = false

[acme]
email = "MY-EMAIL-ADDRESS"
storage = "acme.json"
entryPoint = "https"
OnHostRule = true
[acme.httpChallenge]
entryPoint = "http"

[[acme.domains]]
  main = "MY-DOMAIN.COM"

共有1个答案

洪哲彦
2023-03-14

在您的homeassistant docker-compose配置中,更改以下内容以允许主机将8123映射到容器。

发件人:

expose:
  - 8123

致:

ports:
  - "8123:8123"
 类似资料:
  • 我是的新手,虽然我阅读了基本文档,并尝试部署一个简单的Spring BootAPI,但我可能缺少很多东西 我已经将API部署为.jar文件,然后安装并使用以下命令推送它: 然后使用docker命令启动API: 当我访问localhost:7777/hello时,我得到了所需的响应 这是我的 根据这个应答的命令,发布这个命令以获取 因此,我使用运行它,得到了这个错误 如果我设法获得,我是否能够访问它

  • 问题内容: 我在Mac OS X上使用自制软件设置了jenkins,它 可以通过主机正常工作,或者无法通过主机名/ ipaddress访问jenkins实例: 即使从本地计算机(詹金斯主机本身)也无法访问这两个链接。同时执行命令并正常工作。 问题答案: 事实证明,启动代理配置为仅侦听127.0.0.1(或localhost)。要修复该詹金斯经纪人的plist: 并修改为而不是

  • 我正在谷歌云计算引擎中运行一个VNC服务器,它在端口5901上运行。当我试图通过下面的命令访问服务器时 nc localhost 5901我可以连接。 但当我试图通过静态的外部IP连接时,它被分配给我的云控制台。我遇到超时错误。 我验证了防火墙规则,似乎一切正常。 你能帮帮我为什么会这样吗

  • 问题内容: 我正在尝试跟踪和记录使用PHP 来访问我的网站的用户/访问者。PHP中IP地址跟踪的一种典型方法。 但是,我正在使用CloudFlare进行缓存等,并以CloudFlare的方式接收其IP地址: 108.162.212。-108.162.239。 在仍然使用CloudFlare的同时检索实际用户/访问者IP地址的正确方法是什么? 问题答案: 云耀斑可用的其他服务器变量是: 真正的访客I

  • 我正在将minikube作为docker映像运行。我试图使用Nodeport将我的服务公开给外部世界。 这是我的yaml文件。 搜索了大量关于nodePort的信息,我们需要节点ip才能访问该服务。我可以使用minikube service docker hello world svc访问我的服务——url,它为我提供了访问服务的urlhttp://127.0.0.1:52526但此处的端口号与n

  • 我在公网服务器上搭建了openvpn-server,在内网的机器192.168.0.106上通过openvpn-client连接上,并且获取到了分配地址:10.8.0.6。 在外网的机器通过openvpn-client连接openvpn-server上,ping 10.8.0.6 是有应答的,说明隧道创建成功了。但是我通过 ping 192.168.0.106 无法应答,这是什么原因? 这是我内网