You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Apache配置:保留默认站点并转发IP/cats至Docker容器端口

在Ubuntu 14 Apache中配置路径反向代理到Docker容器的最佳方案

这个需求用Apache的反向代理来实现是最适合的——既能保留根路径的默认内容,又能把/cats路径的请求转发到Docker容器的服务上。下面是Ubuntu 14服务器上的具体操作步骤,都是标准流程,很容易上手:

1. 启用反向代理所需的Apache模块

首先得开启Apache的代理模块,这是实现反向代理的基础。在终端里执行以下命令:

sudo a2enmod proxy proxy_http

执行完后重启Apache让模块生效:

sudo service apache2 restart

2. 修改Apache默认站点配置

Ubuntu 14上Apache的默认站点配置文件是/etc/apache2/sites-available/000-default.conf,我们需要编辑这个文件来添加反向代理规则。

用文本编辑器打开配置文件(比如nano,新手友好):

sudo nano /etc/apache2/sites-available/000-default.conf

<VirtualHost *:80>这个区块里,保留原有的DocumentRoot /var/www/html配置(这是确保根路径还能访问默认内容的关键),然后添加以下两行代理规则:

# 将/cats路径的请求转发到Docker容器的7777端口
ProxyPass /cats http://localhost:7777/
ProxyPassReverse /cats http://localhost:7777/

⚠️ 注意末尾的斜杠:http://localhost:7777/最后的斜杠能保证/cats/xxx这类请求被正确转发到容器的/xxx路径,避免出现路径错乱的问题。

编辑完后按Ctrl+O保存,Ctrl+X退出编辑器。

3. 验证配置并重启Apache

先检查配置文件有没有语法错误,防止重启后Apache崩溃:

sudo apache2ctl configtest

如果输出Syntax OK,就可以重启Apache应用新配置:

sudo service apache2 restart

4. 测试功能

现在可以验证两个路径的访问情况:

  • 访问服务器IP(比如http://你的服务器IP):应该还是原来的默认Apache页面,说明根路径的默认行为保留成功。
  • 访问http://你的服务器IP/cats:应该显示Docker容器7777端口上的专属内容,说明反向代理生效。

额外注意事项

  • 确保你的Docker容器已经正确映射了主机的7777端口,比如启动容器时用了-p 7777:容器内部服务端口的参数,不然Apache访问localhost:7777会连接失败。
  • 如果你的Ubuntu服务器开启了ufw防火墙,不需要额外开放7777端口给外部——因为Apache是从本地访问这个端口的,防火墙默认允许本地请求。

内容的提问来源于stack exchange,提问作者duhaime

火山引擎 最新活动