我在 VirtualBox VM 中的 Ubuntu 14.04 上安装了 JIRA 6.3.15。VirtualBox 的主机系统也是 Ubuntu 14.04。我将 JIRA 配置为使用 SSL(如此处所述https://confluence.atlassian.com/display/JIRA/Running+JIRA+over+SSL+or+HTTPS),在 JIRA 的 server.xml 文件中设置自定义 HTTPS 端口,在 VM 配置中添加该端口的转发规则,并在主机的防火墙中打开该端口。所有这一切都运行正常。
现在我想让 JIRA 发送通知电子邮件。我在 JIRA 配置中添加了一个 SMTP 服务器。只要我关闭主机系统的防火墙(即接受所有传入数据包),这也能正常工作。但是当主机防火墙对传入数据包的默认操作设置为“丢弃”时,通过 SMTP 从 VM 内部的 JIRA 发送电子邮件会失败。连接测试失败,并出现 UnknownHostException。主机防火墙对传出和转发数据包的默认操作是“接受”。
因此,显然需要在主机系统中打开一些用于传入数据包的端口,以使 JIRA 电子邮件功能正常工作。有人能告诉我这是哪个端口吗?我已经尝试过将 465 作为目标端口和源端口,但没有成功,而且我找不到任何相关文档。
答案1
好的,我找到了:首先,这个问题不是 JIRA 特有的,而是来自客户机或主机的任何 DNS 查找都失败了。根本原因是主机防火墙缺少接受所有属于或与已建立连接相关的传入数据包的规则。这适用于所有端口,而不仅仅是 53,因为端口 53 是 DNS 服务器上的传入端口,但 DNS 服务器的答案可以通过任何端口到达我的服务器(又称 DNS 查找客户端)。