【问题标题】:AWS Public DNS does not load even though SSH works即使 SSH 工作,AWS 公共 DNS 也不会加载
【发布时间】:2017-01-08 08:26:40
【问题描述】:

我已经设置了一个带有 LAMP 堆栈的 AWS EC2 实例并安装了 Wordpress。

可以通过浏览器通过其公共 DNS 访问我的实例。我登录到 wordpress 管理员并进行了一些更改,一切正常。

然后我添加了一个弹性 IP,现在我无法通过浏览器通过其公共 DNS 访问我的站点。

但是,可以通过 SSH 完全访问服务器。

公共 DNS 是:

[ec2-52-210-2-56.eu-west-1.compute.amazonaws.com][1]

我的安全组如下:

80 tcp 0.0.0.0/0
22 tcp 209.93.74.222/32
443 tcp 0.0.0.0/0

我已删除 EIP。那没什么区别。我已经重新启动并停止并重新启动了实例。那也没什么区别。

我不知道如何解决它?

【问题讨论】:

  • 你能粘贴你设置的apache配置吗
  • 不确定如何获取该信息?我可以使用简单的 SSH 命令吗?
  • 我在设置实例时下载了最新版本的 apache。 httpd24 php56 mysql55-server php56-mysqlnd.
  • 您的数据库是本地数据库还是您使用 RDS?
  • 使用本地数据库而不是 RDS

标签: amazon-web-services ssh amazon-ec2


【解决方案1】:

我刚接触 AWS 时遇到了类似的问题。

我发现您需要执行以下步骤将您的网址重定向到正确的 IP 地址:

您的实例的旧站点 URL 和新站点 URL。当您安装 WordPress 时,旧站点 URL 可能是您的 EC2 实例的公共 DNS 名称。新站点 URL 是您的 EC2 实例的当前公有 DNS 名称。如果您不确定您的旧站点 URL,您可以使用 curl 通过以下命令找到它。

$curl localhost | grep wp-content

您应该会在输出中看到对旧公共 DNS 名称的引用,如下所示(旧站点 URL 为红色):

<script type='text/javascript' src='http://ec2-52-8-139-223.us-west-1.compute.amazonaws.com/wp-content/themes/twentyfifteen/js/functions.js?ver=20150330'></script>


$ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

使用以下命令搜索并替换 WordPress 安装中的旧站点 URL。用新旧站点 URL 替换您的 EC2 实例和 WordPress 安装路径(通常是 /var/www/html 或 /var/www/html/blog)。

$ php wp-cli.phar search-replace 'old_site_url' 'new_site_url' --path=/path/to/wordpress/installation --skip-columns=guid

您的网站将得到修复!!! 完成!

注意:但每次更改 IP 时,都需要将 url 更改为新 IP。

【讨论】:

  • curl localhost | grep wp-content 不打印旧 URL。我只打印:
  • % Total % Received % Xferd 平均速度 时间 时间 当前 Dload 上传总花费 左速度 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --: --:-- 0
  • 你可以在你的 Wordpress 文件夹中找到 wp-content (/var/www/html/wordpress)...尝试手动调整它
【解决方案2】:

访问This site can’t be reached Amazon Ec2

我在通过 HTTP 80 端口连接时遇到了 Windows EC2 的问题,并按照以下链接进行操作。

如果您的计算机位于公司网络上,请询问您的网络管理员内部防火墙是否允许来自您计算机的端口 22(Linux 实例)或端口 3389(Windows 实例)的入站和出站流量。

如果您的计算机上有防火墙,请验证它是否允许来自您计算机的端口 22(对于 Linux 实例)或端口 3389(对于 Windows 实例)的入站和出站流量。

或点击链接:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html#TroubleshootingInstancesConnectionTimeout

检查Windows EC2中的防火墙设置:转到>防火墙设置或属性选择公共配置文件>检查入站连接,如果它是“默认阻止”则更改为“允许”

【讨论】:

    猜你喜欢
    • 2018-03-01
    • 2015-04-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-20
    • 2018-11-16
    • 1970-01-01
    • 1970-01-01
    • 2014-08-17
    相关资源
    最近更新 更多