可以通过 IP 访问网络服务器,但不能通过域名访问

可以通过 IP 访问网络服务器,但不能通过域名访问

我花了无数的时间试图通过在网上搜索并从头开始重新做各种配置文件来解决这个问题,我已经到了放弃的地步,所以我来到这里。

我已通过 SSDnodes 提供的 VPS 在我的 Ubuntu 16.04 服务器上安装了 LAMP 堆栈。我复制了 000-default.conf 文件并创建了自己的副本,标题为 example.com.conf。此操作在 /etc/apache2/sites-available/ 中完成

然后我用了,sudo a2dissite 000-default.conf最后sudo a2ensite example.com.confsudo service apache2 reload

我还配置了 DNS 提供商的 DNS 记录,使其通过 A 记录指向我的服务器的 IP 地址,但还是不行。到目前为止,我只能通过 IP 地址访问该网站。

运行apachectl -S结果如下:

VirtualHost configuration:
*:80                   example.com (/etc/apache2/sites-
enabled/example.com.conf:1)
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex default: dir="/var/lock/apache2" mechanism=fcntl
Mutex mpm-accept: using_defaults
Mutex watchdog-callback: 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

这是我的 sites-available 下的 example.com.conf 文件:

    ServerName example.com
    ServerAlias www.example.com
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/example.com/public_html

DNS 记录如下所示:

Type: A 
Host: *.example.com
Answer: IP Address to server here
TTL: 300

Type: A 
Host: example.com
Answer: IP Address to server here
TTL: 300

当然,用我的实际域名替换 example.com。

答案1

我做了一些快速测试。我发现我的浏览器正在自动尝试通过HTTPS而不是通过HTTP。这导致我尝试连接通过 HTTP(端口 80)运行的服务器的快速检查失败,因为我的浏览器实际上是在向 HTTPS(端口 443)发出请求。

当我将我的请求更改为使用 HTTP 作为域名时,我的请求就通过了。

相关内容