我使用的是需要域/密钥对的外部API,域名不允许使用该端口。因此,对于我的本地开发环境,我需要能够使用没有端口的URL。我正在使用Jetty。
任何想法是否/如何实现?
答案 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个广泛的选择:
实际上是在端口80上启动它。但是,在大多数操作系统上,只有admin(root)用户可以在低于1024的端口上启动服务,因此您需要以root
启动/运行jetty 。在OSX上,可以通过使用sudo
运行Jetty来完成。有更复杂的方法可以做到这一点,但如果您只是在自己的桌面上运行sudo
是最简单的方法。您可以在此处阅读其他一些方式:http://wiki.eclipse.org/Jetty/Howto/Port80
使用操作系统功能将端口80的请求映射到您正在运行Jetty的端口。在Linux(以及其他类似的操作系统)上,您可以使用ipchains
或iptables
(上面列出的 Port80 页面描述这些内容),在Mac OSX ipfw
上可以做琐事。这是一个example for running Tomcat on port 80 on OSX,完全相同的说明适用于Jetty - 在您的情况下,只需将8080
更改为8090
。
将另一台服务器(如Apache HTTPd)放在Jetty前面。在端口80上运行该服务器,并将其配置为将请求代理到Jetty服务器。请参阅:http://wiki.eclipse.org/Jetty/Howto/Configure_mod_proxy
选项#2可能就是你想要的,但你需要自己决定。