在OSX上,而不是localhost:8090如何在Jetty中使用localhost?

时间:2012-03-19 15:30:35

标签: macos webserver jetty localhost port

我使用的是需要域/密钥对的外部API,域名不允许使用该端口。因此,对于我的本地开发环境,我需要能够使用没有端口的URL。我正在使用Jetty。

任何想法是否/如何实现?

2 个答案:

答案 0 :(得分:1)

根据我刚在Jetty网站上找到的document,您可以在jetty.xml中配置端口:

然后谷歌搜索'jetty.xml端口'引导我到这个页面(因为我想要一个语法示例): Howto/Configure Jetty

有一个,但也引导我使用这个命令行用法,他们在启动Jetty时从命令行指定端口:

java -Djetty.port=80 -jar start.jar etc/jetty.xml

答案 1 :(得分:1)

(我写的一些内容可能对你很明显,但我更喜欢明确)

当您说您想要一个没有端口的URL时,这意味着您实际上想要在端口80上运行。

当URL不包含端口时,隐含了该方案的默认端口。 http的默认端口为80,因此http://www.google.com/http://www.google.com:80/相同

因此,要让您的Jetty服务器在http://localhost/上可用,您需要在端口80上访问它。

有3个广泛的选择:

  1. 实际上是在端口80上启动它。但是,在大多数操作系统上,只有admin(root)用户可以在低于1024的端口上启动服务,因此您需要以root启动/运行jetty 。在OSX上,可以通过使用sudo运行Jetty来完成。有更复杂的方法可以做到这一点,但如果您只是在自己的桌面上运行sudo是最简单的方法。您可以在此处阅读其他一些方式:http://wiki.eclipse.org/Jetty/Howto/Port80

  2. 使用操作系统功能将端口80的请求映射到您正在运行Jetty的端口。在Linux(以及其他类似的操作系统)上,您可以使用ipchainsiptables(上面列出的 Port80 页面描述这些内容),在Mac OSX ipfw上可以做琐事。这是一个example for running Tomcat on port 80 on OSX,完全相同的说明适用于Jetty - 在您的情况下,只需将8080更改为8090

  3. 将另一台服务器(如Apache HTTPd)放在Jetty前面。在端口80上运行该服务器,并将其配置为将请求代理到J​​etty服务器。请参阅:http://wiki.eclipse.org/Jetty/Howto/Configure_mod_proxy

  4. 选项#2可能就是你想要的,但你需要自己决定。