我目前的设置非常简单。
我有一个运行 Ubuntu 的静态 IP 网络服务器。我有一个正确指向该静态 IP 的域。在我的服务器上,我有一个使用标准/默认配置运行的 Jetty 实例 - 更具体地说 - etc/jetty-logging.xml 和 etc/jetty.xml 配置。Jetty 当前侦听默认端口 8080。
在我的 webapps 文件夹中,我有两个提取的 Web 应用程序,所以没有战争文件。
我的 Web 应用程序当前可按如下方式访问:
http://1.2.3.4:8080/web_app_1 and
http://1.2.3.4:8080/web_app_2
http://www.example.com:8080/web_app_1 and
http://www.example.com:8080/web_app_2
我想实现的目标非常简单,但我对此的经验非常有限。
我想在http://www.example.com和http://admin.example.com提供一个 Web 应用程序。所以更具体地说:
http://www.example.com -> http://1.2.3.4:8080/web_app_1
http://admin.example.com -> http://1.2.3.4:8080/web_app_2
实现这一目标的最简单和最好的方法是什么?
我宁愿不为端口 80 配置码头或让它以 root 身份运行。
这就是我到目前为止所知道的“认为”...
我想我需要在网络服务器内部以某种方式将流量从端口 80 转发到端口 8080 - 我不知道如何以最简单的方式做到这一点 - 我没有太多关于 apache 或 nginex 的配置知识,所以在我走之前提前并使用其中一个我想知道我正在遵循正确的路线。我也知道可以使用 iptables,但这条路线对我来说似乎有点太隐蔽和模糊了。
我想我需要使用 Jetty 的虚拟主机配置,它看起来像这样(取自https://wiki.eclipse.org/Jetty/Howto/Configure_Virtual_Hosts):
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="war"><SystemProperty name="jetty.home"/>/webapps/xxx.war</Set>
<Set name="contextPath">/</Set>
<Set name="virtualHosts">
<Array type="java.lang.String">
<Item>333.444.555.666</Item>
<Item>127.0.0.1</Item>
<Item>www.blah.com</Item>
<Item>www.blah.net</Item>
<Item>www.blah.org</Item>
</Array>
</Set>
</Configure>
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="war"><SystemProperty name="jetty.home"/>/webapps/zzz.war</Set>
<Set name="contextPath">/</Set>
<Set name="virtualHosts">
<Array type="java.lang.String">
<Item>777.888.888.111</Item>
<Item>www.other.com</Item>
<Item>www.other.net</Item>
<Item>www.other.org</Item>
</Array>
</Set>
</Configure>
与上面的示例不同,我没有部署的 war 文件,我无法找到如何使用此配置来配置我的 web 应用程序目录。
任何帮助甚至是朝着正确方向的推动都将不胜感激!
谢谢!
尚德尔