可以通过 LAN 访问 LAMP,但无法访问站点

可以通过 LAN 访问 LAMP,但无法访问站点

当我输入以下内容时,我可以使用手机的网络浏览器通过 LAN 查看在 Ubuntu 20.04 上运行的 LAMP 服务器的目录http://192.168.X.XXX。但是,如果我单击任何站点/目录,我将无法访问它们。

这是预期的行为,因为我在 LAMP 上有一个自签名 OpenSSL 证书,但我也有一个 000-default.conf apache 配置

当我输入http时s://192.168.X.XXX 我正确地被拒绝访问。

我的问题是:
我需要做什么才能使本地 LAMP 服务器 URL 可通过 LAN 进行测试?

例如,我想访问。

https://localhost.devsite.com从我的手机,也安装了 nextcloud 服务器。

简而言之,我的手机可以“看到”LAN 上的 LAMP 服务器,但看不到 LAMP 服务器上的实际网站。

这是怎么回事?

我的 WordPress 安装有:

<VirtualHost *:443>

    ServerName localhost.someothersite.org
    ServerAlias www.localhost.someothersite.org
    
    # If this is the default configuration file we can use: 'ServerName localhost' or also 'ServerAlias localhost'.

    ServerAdmin [email protected]

    ErrorLog ${APACHE_LOG_DIR}/localhost.someothersite.org.error.log
    CustomLog ${APACHE_LOG_DIR}/localhost.someothersite.org.access.log combined

    DocumentRoot /var/www/html/someothersite.org
    
    <Directory /var/www/html/someothersite.org>
        Options None FollowSymLinks
        # Enable .htaccess Overrides:
        AllowOverride All
        DirectoryIndex index.php
        Order allow,deny
        Allow from all
        Require all granted
    </Directory>

    <Directory /var/www/html/someothersite.org/wp-content>
        Options FollowSymLinks
        Order allow,deny
        Allow from all
    </Directory>
            
    SSLEngine on
   SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
   SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key

</VirtualHost>

我的 nextcloud 安装有:

<VirtualHost *:443>
  DocumentRoot /var/www/html/nextcloud/
  ServerName  nextcloudinstall.org

  <Directory /var/www/html/nextcloud/>
    Require all granted
    AllowOverride All
    Options FollowSymLinks MultiViews
    Satisfy Any

    <IfModule mod_dav.c>
      Dav off
    </IfModule>
  </Directory>
</VirtualHost>

我的主机文件有:

127.0.0.1   nextcloudinstall.org
127.0.0.1   localhost.someothersite.org

答案1

只有在 DNS 中正确解析并且设置为虚拟主机的情况下,才能按名称访问网站。如果您只想通过 IP 查看您的一个网站,它将查看下面定义的默认文件夹/etc/httpd/conf/httpd.conf

DocumentRoot "/var/www/html"

这个方向。如果您的访问被拒绝,请检查文件夹用户权限,并确保 apache 用户和组有权访问此文件夹,当然它存在,否则 apache 我只会显示通用欢迎消息,而不是在此文件夹中。

因此,要使用网站名称,您必须设置 DNS 服务器,使其localhost.devsite.com指向您的 IP,并在从客户端(即手机或其他计算机)搜索该域名时使用相同的 DNS。

相关内容