加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

apache – 同一个docker容器上的多个vhost

发布时间:2020-12-16 03:52:27 所属栏目:安全 来源:网络整理
导读:我正在尝试在同一个Docker容器和端口上运行两个不同的域. Docker容器运行CentOS. docker-compose.yml看起来像这样: web: image: fab/centos ports: - "80:80" volumes: - ./src/httpd.conf:/etc/httpd/conf/httpd.conf - ./src:/var/www/html - ./src/hosts

我正在尝试在同一个Docker容器和端口上运行两个不同的域.

Docker容器运行CentOS. docker-compose.yml看起来像这样:

web:
  image: fab/centos
  ports:
    - "80:80"
  volumes:
    - ./src/httpd.conf:/etc/httpd/conf/httpd.conf
    - ./src:/var/www/html
    - ./src/hosts:/etc/hosts
  environment:
   - VIRTUAL_HOST=dummy.dev,tests.dev

我还在主机(OS X)上的/ etc / hosts中声明了两个.dev域名.

我配置虚拟主机已经有一段时间了.我的理解是我只需要声明它们,并且Apache会自动提供正确的文件,具体取决于所请求的HTTP HOST.

这就是我在httpd.conf末尾添加的内容:

但是,在实践中,访问dummy.dev或tests.dev实际上服务于/ var / www / html / default.这就好像Apache没有意识到正在调用哪个主机(尽管PHP中的$_SERVER转储确实显示了预期的HTTP_HOST值,即:127.0.0.1,dummy.dev或tests.dev,具体取决于我访问的URL .)

我错过了什么?

我不清楚这是Apache问题还是Docker问题.

(请注意,这是一个不同的问题,如何在同一个域上使用不同的端口托管多个应用程序.在我的情况下,我确实希望虚拟主机全部位于同一个应用程序/端口/容器内.)

最佳答案
事实证明这是一个Apache配置问题.

我需要显式启用域名虚拟主机,如下所示:

NameVirtualHost *:80

This answer helped.

Docker与此事无关.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读