【问题标题】:access tomcat deployed application (aws) by domain name (www.mydomain.com)通过域名(www.mydomain.com)访问tomcat部署的应用程序(aws)
【发布时间】:2015-09-02 16:50:13
【问题描述】:

我是 aws 托管的新手,请帮助我将域名指向 tomcat 托管的应用程序。在配置过程中会采取以下步骤-

1- 我创建了 ec2 ubuntu 实例。用java、tomcat配置。在tomcat上部署了我的war文件。我能够成功访问该应用程序。使用 http://ec2-xx-xx-xxx-xx.us-west-2.compute.amazonaws.com:8080/login.jspx网址。

2- 在 godaddy 注册的域名(www.mydomain.com)。

3- 创建托管区域 (console.aws.amazon.com/route53) 并将名称服务器设置为我的 Godaddy 域名。

4- 我还将 A(host) IP 编辑为我的 ec2 实例的公共 IP。

我不知道出了什么问题,我无法通过 www.mydomainname.com 访问我的应用程序。

【问题讨论】:

  • 如果您只在浏览器中输入您的 ec2 实例的公共 ip,它是否也会显示您的网络?
  • 也有可能是在godaddy中设置A后,需要一些时间才能应用更改。
  • 无法通过仅输入实例的公共 IP 来访问网络。如果这是问题,请指导我。
  • 那我觉得问题出在你的服务器配置上,因为在godaddy中你是把域名映射到公网ip的,所以你访问公网ip的时候需要把你的web设置为默认页面, 通常通过端口 443 进行 https 连接,而不是您的 8080 端口
  • 还有一点,别忘了在您的 EC2 安全组中启用 http 连接到端口 80 和 https 连接到端口 443。

标签: tomcat amazon-ec2 dns ip


【解决方案1】:

为了 ping EC2 实例,您需要在安全组设置中允许 ICMP 流量。

【讨论】:

    【解决方案2】:

    我在上面由 noname 提供的答案和一些谷歌帮助的帮助下解决了我的问题。

    因为我已经解压缩了tomcat,所以做了一些环境设置如下-

    1. 在 server.xml 中将端口 8080 更改为 80

    2. sudo apt-get authbind.

    3. 触摸 /etc/authbind/byport/80。

    4. chmod 500 /etc/authbind/byport/80.

    5. 在 /usr/local/tomcat/bin 文件夹中创建了 setenv.sh。

    6. 是否输入了 CATALINA_OPTS="-Djava.net.preferIPv4Stack=true" 和 AUTHBIND=yes 在 setenv.sh 中

    7. 在 startup.sh 中将命令更改为 exec authbind --deep "$PRGDIR"/"$EXECUTABLE" start "$@" 代替 exec "$PRGDIR"/"$EXECUTABLE" start "$@"

      然后重启服务器,问题就解决了。

    【讨论】:

      猜你喜欢
      • 2016-02-04
      • 2018-05-29
      • 1970-01-01
      • 2016-03-30
      • 2015-04-15
      • 1970-01-01
      • 2017-07-24
      • 2018-03-26
      • 2020-10-22
      相关资源
      最近更新 更多