我购买了 JIRA Agile 的服务器版本,并在我的 Windows 8.1 x64 机器上运行它。我将conf/server.xml
文件中的 Catalina 服务设置为端口8100
。我还修改了 Windows 防火墙规则:其中已经有一个允许私人访问的 Jira 规则;我将其更新为允许公共访问。除此之外,我还创建了一条新的 Windows 防火墙规则以打开端口 8100 上的所有流量。最后,我的网络位于 Linksys WRT54G2 路由器后面,本地运行 Jira 的盒子的 IP 地址为192.168.1.109
。因此,在我的路由器设置中,我将端口 8100 转发到该 IP 地址。
我可以在那台机器上访问 Jira,但在我的网络上的任何其他机器上都无法访问。在那台机器上,我可以通过以下三种方式之一成功访问它:
这三个都很好用当我在那个盒子上。但是,如果我尝试从 LAN 上的另一台机器访问 192.168.1.109:8100,它会超时/永远无法连接。这特别奇怪,因为上周我第一次设置它时,我能够从 LAN 上的另一台机器连接到 Jira。而且,据我所知,从那时起我就没有更改过任何设置。
我还netstat -a
查看了正在监听的端口,这是其中的一项:
Proto Local Address Foreign Address State
TCP 0.0.0.0:8100 WINSERVER:0 LISTENING
为了彻底起见,我还会将文件内容复制server.xml
到这里:
<?xml version="1.0" encoding="utf-8"?>
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on"/>
<Listener className="org.apache.catalina.core.JasperListener"/>
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
<Service name="Catalina">
<Connector port="8100" maxThreads="150" minSpareThreads="25"
connectionTimeout="20000" enableLookups="false" maxHttpHeaderSize="8192"
protocol="HTTP/1.1" useBodyEncodingForURI="true" redirectPort="8443"
acceptCount="100" disableUploadTimeout="true"/>
<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="${catalina.home}/atlassian-jira" reloadable="false" useHttpOnly="true">
<Resource name="UserTransaction" auth="Container" type="javax.transaction.UserTransaction"
factory="org.objectweb.jotm.UserTransactionFactory" jotm.timeout="60"/>
<Manager pathname=""/>
</Context>
</Host>
<Valve className="org.apache.catalina.valves.AccessLogValve" resolveHosts="false"
pattern="%a %{jira.request.id}r %{jira.request.username}r %t "%m %U%q %H" %s %b %D "%{Referer}i" "%{User-Agent}i" "%{jira.request.assession.id}r""/>
</Engine>
</Service>
</Server>
有任何想法吗?
答案1
txtechhelp 的评论帮助我弄清楚了。当我完全禁用 Windows 防火墙时,我能够成功访问 LAN 上的 Jira。所以,显然,这是一个 Windows 防火墙问题。我发现我错误地打开了 UDP 端口 8100 而不是 TCP。一旦我更改了这一点,防火墙打开后它就可以正常工作了。