运行 Azure 虚拟机上的 Jetty 网站
Run Jetty Website on Azure Virtual Machine
我已经使用 Jetty 创建了一个 Java Web 应用程序(在 Eclipse 中,使用 OSGI 等)。应用程序本身 运行 非常好(在本地测试时),所以我想 运行 它在 Azure 虚拟机上,以便外部用户可以访问(出于测试原因)。
到目前为止我做了什么:
- 创建了一个 Azure 帐户
- 创建一个带有 Windows 服务器 运行ning 的虚拟机
- 已将我所有的 eclipse 文件等下载到虚拟机
- 在虚拟机中启动了应用程序(实际上是在eclipse中,不是编译好的jar);应用程序发布到端口 8080
- 所以,当我 运行 VM 中的网络浏览器并连接到 localhost:8080 时,一切正常
- 但是当我尝试从外部访问网站时(使用我分配的 VM 域,something.cloudapp.net:8080),它不起作用
- 我还在 Azure 管理控制台中为此 VM(80、8080 等)创建了端点
有没有人试过 运行 Azure 上的 java 网络应用程序或提示这里可能会出现什么问题?
默认情况下,Azure 中的 windows 服务器启用了 windows 防火墙。默认情况下,这将阻止与端口 8080 的外部连接。尝试向 windows 防火墙规则添加适当的例外。
根据您的描述,我认为您已经为 Java Webapp 的网络流量正确配置了新端点。如果没有或配置不正确,请参考文章https://azure.microsoft.com/en-us/documentation/articles/virtual-networks-create-nsg-arm-pportal/重新配置
然后,正如@CtrlDot 所说,您需要配置防火墙以允许 Windows 服务器上的入站流量。
作为参考,请参阅有关allowing inbound traffic to a specified TCP or UDP port on Windows Server的文章。
我已经使用 Jetty 创建了一个 Java Web 应用程序(在 Eclipse 中,使用 OSGI 等)。应用程序本身 运行 非常好(在本地测试时),所以我想 运行 它在 Azure 虚拟机上,以便外部用户可以访问(出于测试原因)。
到目前为止我做了什么:
- 创建了一个 Azure 帐户
- 创建一个带有 Windows 服务器 运行ning 的虚拟机
- 已将我所有的 eclipse 文件等下载到虚拟机
- 在虚拟机中启动了应用程序(实际上是在eclipse中,不是编译好的jar);应用程序发布到端口 8080
- 所以,当我 运行 VM 中的网络浏览器并连接到 localhost:8080 时,一切正常
- 但是当我尝试从外部访问网站时(使用我分配的 VM 域,something.cloudapp.net:8080),它不起作用
- 我还在 Azure 管理控制台中为此 VM(80、8080 等)创建了端点
有没有人试过 运行 Azure 上的 java 网络应用程序或提示这里可能会出现什么问题?
默认情况下,Azure 中的 windows 服务器启用了 windows 防火墙。默认情况下,这将阻止与端口 8080 的外部连接。尝试向 windows 防火墙规则添加适当的例外。
根据您的描述,我认为您已经为 Java Webapp 的网络流量正确配置了新端点。如果没有或配置不正确,请参考文章https://azure.microsoft.com/en-us/documentation/articles/virtual-networks-create-nsg-arm-pportal/重新配置
然后,正如@CtrlDot 所说,您需要配置防火墙以允许 Windows 服务器上的入站流量。
作为参考,请参阅有关allowing inbound traffic to a specified TCP or UDP port on Windows Server的文章。