如何使用 apache2/sites-available/example.com.conf 而不是 000-default.conf?

如何使用 apache2/sites-available/example.com.conf 而不是 000-default.conf?

nginx 配置为 apache(2.4.18)和具有多个域的节点的反向代理。

/etc/nginx/sites-available/example.com

server {
  listen 80;
  server_name example.com;

  # /api is running on php/apache 
  location /api {
      proxy_pass http://localhost:8080/api;
      proxy_set_header Host $host;
  }

  # all the rest is handled by node.js 
  location / {
      proxy_pass http://localhost:3000;
      proxy_set_header Host $host;
  }
}

/etc/apache2/sites-available/example.com

<VirtualHost *:8080>
        ServerName example.com
        DocumentRoot /var/www/example.com/api
</VirtualHost>

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

<VirtualHost *:8080>
        # ServerName example.com
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html
</VirtualHost>

/etc/apache2/sites-enabled/example.com我还添加了指向的符号链接/etc/apache2/sites-available/example.com

/etc/apache2/sites-available/example.com除了无法工作外,其他都很好。它仍然使用/etc/apache2/sites-available/000-default.conf

我该如何修复它?

答案1

您有两个同名的 VirtualHosts <VirtualHost *:8080>。Apache/etc/apache2/sites-available/000-default.conf读取的第一个文件/etc/apache2/sites-available/example.com是第二个,因此 Apache 仅加载第一个文件,并覆盖所有其他 VirtulHosts 文件。为了防止出现此类问题,您应该删除或/etc/apache2/sites-available/000-default.conf更改/etc/apache2/sites-available/example.com

 <VirtualHost example.com:8080>
        ServerName example.com
        DocumentRoot /var/www/example.com/api
</VirtualHost>

相关内容