ubuntu - Apache 2.4.41 - 无法在本地主机上连接多个虚拟主机/ubuntu 20.04

标签 ubuntu apache2 ubuntu-20.04

我已经在我的笔记本电脑上安装了 apache2,并创建了一个虚拟主机来在一个站点上工作以进行开发。这工作正常。我现在需要添加第二个站点,并且遇到了问题,尽管设置与第一个(工作)虚拟主机配置相同。
每当我访问第二个站点时,请求都会被重定向到 https(即使定义了 http),并且浏览器会返回“无法连接”错误页面。
http://dev.mysite.co.uk > 加载正常
http://dev.mysite2.co.uk > 重定向到 https://dev.mysite2.co.uk和“无法连接”消息
在过去的几个晚上,我研究了这个问题并尝试了很多建议,包括 www/dir 权限,但没有一个有效。
站点 1 配置,位于/etc/apache2/sites-available (正常工作):

<VirtualHost *:80>
    ServerName dev.mysite1.co.uk
    DocumentRoot /var/www/mysite1/public_html

    <Directory /var/www/mysite1/public_html>
        Options -Indexes +FollowSymLinks
        AllowOverride All
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/mysite1.co.uk-error.log
    CustomLog ${APACHE_LOG_DIR}/mysite1.co.uk-access.log combined 
</VirtualHost>

站点 2 配置,位于/etc/apache2/sites-available:
<VirtualHost *:80>
    ServerName dev.mysite2.co.uk
    DocumentRoot /var/www/mysite2/public_html

    <Directory /var/www/mysite2/public_html>
        Options -Indexes +FollowSymLinks
        AllowOverride All
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/mysite2.co.uk-error.log
    CustomLog ${APACHE_LOG_DIR}/mysite2.co.uk-access.log combined
</VirtualHost>
...都通过 a2ensite 启用。
/etc/hosts 文件:
127.0.0.1   localhost
127.0.0.1   dev.site2.co.uk
127.0.0.1   dev.site1.co.uk 
127.0.0.1   phpmyadmin
127.0.1.1   mymachine

# The following lines are desirable for IPv6 capable hosts ::1     ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters
apachectl configtest 的输出:

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message Syntax OK


(我之前在 apache2.conf 中设置了“ServerName localhost”,它删除了第一条 FQDN 消息,但不影响我遇到的问题)。两者都有指向/etc/apache2/sites-enabled 中的 vhost 配置的符号链接(symbolic link)。 Apache2.conf 是标准的/没有默认的标准安装。浏览器扩展被禁用/相同导致不同的浏览器。
ls -ld/var/www/site1 的输出:

drwxrwxrwx 10 me me 4096 Jan 15 20:50 /var/www/site1


ls -ld/var/www/site2 的输出:

drwxrwxr-x 9 me www-data 4096 May 17 22:45 /var/www/site2


site2 有 www-data 权限的区别吗?哪个应该是 apache 用户可读的?
chown -R 755/var/www 没有区别
还意识到 http://localhost 也重定向到 https://localhost 和“无法连接”消息。
http://localhost/phpmyadmin 工作正常。
apachectl -S 的输出:
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message VirtualHost configuration:
*:80                   is a NameVirtualHost
         default server dev.site1.co.uk (/etc/apache2/sites-enabled/site1.conf:1)
         port 80 namevhost dev.site1.co.uk (/etc/apache2/sites-enabled/site1.conf:1)
         port 80 namevhost dev.site2.co.uk (/etc/apache2/sites-enabled/site2.conf:1) 
ServerRoot: "/etc/apache2" 
Main DocumentRoot: "/var/www/html" 
Main ErrorLog: "/var/log/apache2/error.log" 
Mutex default: dir="/var/run/apache2/" mechanism=default  
Mutex mpm-accept: using_defaults 
Mutex watchdog-callback: using_defaults 
Mutex rewrite-map: using_defaults 
PidFile: "/var/run/apache2/apache2.pid" 
Define: DUMP_VHOSTS 
Define: DUMP_RUN_CFG 
User: name="www-data" id=33 not_used 
Group: name="www-data" id=33 not_used

最佳答案

您的问题提到了 5 个不同的主机名。

  • dev.mysite.co.uk
  • dev.mysite1.co.uk
  • dev.mysite2.co.uk
  • dev.site1.co.uk
  • dev.site2.co.uk

  • apache 配置与 apachectl 输出和/etc/hosts 内容不匹配。
    所以,你编辑了一些东西。
    以下是推测,因为不知道编辑了哪些部分。
    这是否会发生:
    对于第一个站点,一切都很好,但是对于第二个站点,您的请求与配置或主机条目不匹配,因此浏览器尝试 https 并失败,因为 dev.site2.co.uk 和 dev.mysite2.co.uk 匹配dns中不存在。
    您可以查看日志文件以查看是否是这种情况:如果 [my]site2 没有日志条目,则主机条目可能是罪魁祸首。

    关于ubuntu - Apache 2.4.41 - 无法在本地主机上连接多个虚拟主机/ubuntu 20.04,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72296544/

    相关文章:

    ssh - 如何在 "sudo ssh localhost"时跳过指纹检查?

    bash - 如何从 linux 终端读取 8 位 ascii

    linux - 注销后 GNU Screen 找不到应用程序

    ubuntu - 在 FFmpeg 上合并不等长的音频和视频

    macos - 无法让 Phusion Passenger 与 Mac OS X Mountain Lion 和 Apache 一起工作

    python - 如何在 Ubuntu 20.04 GCP 实例上安装 virtualenv?

    linux - 齐奏失败 : Uncaught exception Failure ("input_value: ill-formed message")

    java - 如何使用 Vesta CP 将我的子域绑定(bind)到我在 ubuntu 上的 tomcat 项目

    mysql - Apache2和mysql授权

    MySQL ERROR 2026 - SSL 连接错误 - Ubuntu 20.04