当我输入以下内容时,我可以使用手机的网络浏览器通过 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。