【问题标题】:docker serve content over https without domain (only with public IP Address)docker 通过 https 提供内容而没有域(仅具有公共 IP 地址)
【发布时间】:2021-09-05 19:26:56
【问题描述】:

我有两个不同的服务器。在服务器 1 我有一个域和一个 IP 地址,而在服务器 2 我只有一个公共 IP 地址。 在服务器 1 我托管网页,在服务器 2 我托管网络服务。 当我想从服务器 1 连接到服务器 2 时,出现以下错误:

此请求已被阻止;内容必须通过 HTTPS 提供

我无法通过 HTTPS 提供来自 web 服务的内容。首先,我使用letsencrypt和nginx反向代理进行了尝试,但出现了无法使用SSL验证IP地址的错误。然后我在没有letsencrypt的情况下尝试了它,但后来我只通过http获取内容。当我只有一个没有域的公共 IP 地址时,如何使用 https 和 docker 提供我的内容? 这是我的 docker-compose 文件:

version: "3.3"

services:
  proxy:
    image: jwilder/nginx-proxy:alpine
    container_name: proxy
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro
      ### required for Let's Encrypt certificates
      - nginx_certs:/etc/nginx/certs:ro
      - nginx_vhosts:/etc/nginx/vhost.d
      - nginx_html:/usr/share/nginx/html
    restart: always
  # letsencrypt:
  #   image: jrcs/letsencrypt-nginx-proxy-companion
  #   environment:
  #   ### ToDo: Change to your e-mail address
  #     - DEFAULT_EMAIL=XXX@gmail.com
  #     - NGINX_PROXY_CONTAINER=proxy
  #   volumes_from:
  #     - proxy
  #   volumes:
  #     - /var/run/docker.sock:/var/run/docker.sock:ro
  #     - nginx_certs:/etc/nginx/certs:rw
  #   restart: always
  whoami:
    image: jwilder/whoami
    environment:
      - VIRTUAL_HOST=IP_ADDRESS
      - VIRTUAL_PROTO=https
volumes:
  #### NGINX reverse proxy container volumes
  nginx_certs:
  nginx_vhosts:
  nginx_html:

【问题讨论】:

    标签: docker nginx ssl openssl nginx-reverse-proxy


    【解决方案1】:

    我可以想到两种可能的解决方案:

    1。为您的域添加一个指向您的后端的 DNS 条目

    如果您的域类似于example.com,您可以使用子域api.example.com 作为您的后端。

    在此处阅读有关如何使用子域的更多信息:How to add subdomain entry

    2。在 Docker Swarm 配置中添加两个服务器

    如果您将两台服务器都添加到您的 swarm 中,您可以通过可以加密的内部网络运行通信。

    您可以在官方 Docker 文档中了解更多信息:https://docs.docker.com/network/overlay/

    不过,我无法从你的问题判断这是否适合你。

    【讨论】:

    • @zzzzzzzzzzz 无论如何都不推荐使用 hacky 方式,但老实说我不能告诉你,因为我不知道“当我想从服务器 1 连接到服务器 2 时,我得到了以下错误”是。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-21
    相关资源
    最近更新 更多