You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Lightsail中Bitnami LAMP虚拟主机配置失败:域名未指向指定目录

修复Bitnami LAMP虚拟主机HTTPS访问默认页面问题

你的核心问题是仅配置了HTTP(80端口)的虚拟主机,而HTTPS(443端口)的虚拟主机未对应配置——bncert-tool启用HTTPS后会自动生成443端口的默认配置,该配置仍指向根目录/opt/bitnami/apache/htdocs,所以访问HTTPS时会走默认配置而非你的自定义规则。另外注意你配置文件里的ServerName拼写错误(domaine1.fr应为domain1.fr),这也会导致虚拟主机匹配失败。

按以下步骤修复:

1. 修正自定义虚拟主机配置,添加HTTPS(443端口)规则

编辑你的自定义配置文件/opt/bitnami/conf/vhost/myapp-vhosts.conf,替换为以下内容(注意修正域名拼写,并添加443端口的SSL配置):

# HTTP 80端口配置
<VirtualHost *:80>
   ServerName domain1.fr
   DocumentRoot "/opt/bitnami/apache/htdocs/domain1"
   <Directory "/opt/bitnami/apache/htdocs/domain1">
      AllowOverride All
      Require all granted
   </Directory>
   # 强制跳转HTTPS(可选,根据需求保留)
   RewriteEngine On
   RewriteCond %{HTTPS} !=on
   RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]
</VirtualHost>

<VirtualHost *:80>
   ServerName domain2.fr
   DocumentRoot "/opt/bitnami/apache/htdocs/domain2"
   <Directory "/opt/bitnami/apache/htdocs/domain2">
      AllowOverride All
      Require all granted
   </Directory>
   # 强制跳转HTTPS(可选)
   RewriteEngine On
   RewriteCond %{HTTPS} !=on
   RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]
</VirtualHost>

# HTTPS 443端口配置(参考bncert生成的SSL证书路径)
<VirtualHost *:443>
   ServerName domain1.fr
   DocumentRoot "/opt/bitnami/apache/htdocs/domain1"
   <Directory "/opt/bitnami/apache/htdocs/domain1">
      AllowOverride All
      Require all granted
   </Directory>
   # SSL证书路径(bncert-tool生成的路径通常如下,若不同可查看httpd-ssl.conf确认)
   SSLEngine on
   SSLCertificateFile "/opt/bitnami/apache/conf/domain1.fr.crt"
   SSLCertificateKeyFile "/opt/bitnami/apache/conf/domain1.fr.key"
   SSLCertificateChainFile "/opt/bitnami/apache/conf/domain1.fr.ca-bundle"
</VirtualHost>

<VirtualHost *:443>
   ServerName domain2.fr
   DocumentRoot "/opt/bitnami/apache/htdocs/domain2"
   <Directory "/opt/bitnami/apache/htdocs/domain2">
      AllowOverride All
      Require all granted
   </Directory>
   SSLEngine on
   SSLCertificateFile "/opt/bitnami/apache/conf/domain2.fr.crt"
   SSLCertificateKeyFile "/opt/bitnami/apache/conf/domain2.fr.key"
   SSLCertificateChainFile "/opt/bitnami/apache/conf/domain2.fr.ca-bundle"
</VirtualHost>

2. 调整配置文件加载顺序(关键)

bncert-tool生成的HTTPS配置通常会被优先加载,确保你的自定义配置在默认HTTPS配置之后加载:

  • 打开/opt/bitnami/apache/conf/httpd.conf,找到bncert添加的Include语句(类似Include "/opt/bitnami/apache/conf/vhosts/*.conf"或具体的HTTPS配置文件)
  • 将你的自定义配置Include语句移到这些默认HTTPS配置的后面,确保自定义规则覆盖默认:
    # 先加载默认vhost配置(包括bncert生成的HTTPS规则)
    Include "/opt/bitnami/apache/conf/vhosts/*.conf"
    # 再加载你的自定义配置
    Include "/opt/bitnami/apache/conf/vhost/myapp-vhosts.conf"
    

3. 验证Apache配置语法

执行命令检查配置是否有语法错误:

sudo /opt/bitnami/apache/bin/httpd -t

如果输出Syntax OK则继续,否则根据提示修正错误。

4. 重启Apache服务

sudo /opt/bitnami/ctlscript.sh restart apache

完成以上步骤后,访问https://domain1.fr和https://domain2.fr应该会分别指向对应的目录。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 03:22:32