我正在尝试创建一个书堆网站亚马逊 Lightsail实例。
我遇到了一个问题,即连接到 Lightsail 实例的静态公共 IP 地址可以从任何浏览器或计算机顺利访问我的网站。但是,我指向同一 IP 的域地址会超时并且无法正常工作。
操作系统是 Ubuntu 18.04,IP 是[IP]
,域名是[domain].dev
。这是 BookStack 在 Ubuntu 18.04 上设置的脚本。虚拟主机配置如下。
我已尝试/完成以下操作:
- 我主持Google 域名我已进入 DNS 并添加了指向我的静态 IP 的 @(基本域)和 www 的 A 记录。没有用。
- 我通过 Lightsail 控制台创建了一个 DNS 区域,将 @ 和 www 指向我的静态 IP。然后,我将 Amazon 名称服务器添加到我的 Google 域的名称服务器,而不是 Google 的名称服务器。没有用。
- 我再次尝试使用53 号公路并在那里配置名称服务器,而不是使用 Lightsail 的 DNS 区域,但这也不起作用。
当我 ping 静态 IP 时,它会超时并且没有得到响应,但从我在网上读到的内容来看,这对于某些网站来说是正常的。当我 ping 我的域名时,它会解析到正确的 IP 地址,但也没有得到响应。
我很困惑,为什么 ping 我的域名会给我正确的 IP 地址,但网站仍然拒绝加载。我已经尝试了好几天,所以这应该不是传播问题。网站将通过 IP 加载,但不是通过使用域。
<VirtualHost *:80>
ServerName [domain].dev
ServerAdmin webmaster@localhost
DocumentRoot /var/www/bookstack/public/
<Directory /var/www/bookstack/public/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
</Directory>
ErrorLog /error.log
CustomLog /access.log combined
</VirtualHost>
答案1
所以解决方案相当……有趣。至少可以说,我很沮丧,我花了这么长时间才弄清楚,但这就是它:
据我所知,谷歌拥有 .dev 顶级域名,并且自此必需的SSL 证书 (https://) 来托管 .dev 域名上的域名。由于我还没有证书,所以它不起作用。因此,解决方案是要么转移到没有 .dev 的新域名,要么为您的网站添加 SSL 证书。
此后,我转移到我拥有的另一个域名以确保它能正常工作,并且确实如此。