当我尝试在本地networking上使用nginx反向代理configurationJira 7.3.5时遇到了一个小问题。 我使用cptactionhank jira docker镜像和jwilder nginx-proxy docker镜像。 一切似乎运行良好,但自从我更新到版本7.3.5,Jira报告“小工具的基础url”的问题。 当打开Jiraconfiguration面板的support-tools部分时,它显示“JIRA无法通过configuration的基本URL访问自己”。 结果是仪表板上的小工具不报告其正确的名称。
似乎需要通过端口8080重新路由到端口80的stream量。当我把Jira中的基础URL设置到端口8080,问题消失,但不幸的是我所有的jiraurl将后缀8080端口。我尝试设置X_PROXY_PORT为80,并试图在我的docker-compose环境中设置VIRTUAL_PORT,但没有任何变化。 我希望这里的任何人都有这个设置的经验?
这是我的jira docker-compose.yml文件:
version: '2' services: jira: container_name: jira restart: always image: cptactionhank/atlassian-jira-software:latest ports: - "8080:8080" volumes: - jira-data:/var/atlassian/jira - jira-logs-data:/opt/atlassian/jira/logs dns: 192.168.2.4 expose: - "8080" hostname: jira.internal.mydomain.com network_mode: bridge environment: - VIRTUAL_HOST=jira.internal.mydomain.com volumes: jira-data: external: true jira-logs-data: external: true
这里是我的nginx docker-compose.yml文件
version: '2' services: nginx: container_name: nginx restart: always image: jwilder/nginx-proxy ports: - "80:80" volumes: - /var/run/docker.sock:/tmp/docker.sock:ro - /srv/nginx-proxy/my_proxy.conf:/etc/nginx/conf.d/my_proxy.conf:ro dns: 192.168.2.4 network_mode: bridge
那么,你有jira监听端口8080和nginx路由端口80到8080? 是对的吗?
这听起来像杰拉不使用代理自己谈话。 我猜这是因为它尝试错误的IP地址,并且代理不在该地址上进行侦听。 用'ss -tln'或'netstat -tln'很容易检查
希望能帮助 – 迪兰
更新:
呵呵,看起来你在8080端口上听了一些东西,而在8005端口上听,但是没有任何东西在80端口上听。这让我觉得nginx没有configuration正确。 或者,您是否将端口8005发布为容器外的端口80? 这会导致问题,因为在容器内部,端口80不是什么东西。 我想你可以在容器中的iptables中设置一个简单的转发规则,将端口80redirect到本地端口8005。 这可能会解决它。 或者把nginx放在80端口上,然后发布为80端口。
我似乎find了解决这个问题的办法。 在我的jira docker-compose文件中禁用“expose:”8080“”和“hostname:jira.internal.mydomain.com”行似乎确保所有路由都按照原样完成。 我设置了jira的基本url只是http://jira.internal.mydomain.com ,一切似乎工作正常。