Jira не может проверить предупреждение о базовом URL и gadget.common.error.500 - PullRequest
0 голосов
/ 02 мая 2020

У меня есть настройка сервера jira во внутренней сети без DNS для обслуживания по локальной сети. Поэтому после многих попыток я не могу понять, как решить проблему. Я использую самоподписанный сертификат.

Клиент из локальной внутренней сети HTTPS => возвращает прокси nginx => JIRA на Docker.

Моя конфигурация:

Docker -compose. xml

jiraserver:
    container_name: jiraserver
    depends_on:
        - postgresql
    image: atlassian/jira-software:latest
    volumes:
        - jiradata:/var/atlassian/jira
    hostname: jira.internal.com
    environment: 
        - "ATL_PROXY_NAME=jira.backbox.com"
        - "ATL_PROXY_PORT=443"
        - "ATL_TOMCAT_SCHEME=https"
        - "ATL_TOMCAT_SECURE=true"
        - "ATL_JDBC_URL=jdbc:postgresql://jiradb.internal:5432/jiradb"
        - "ATL_JDBC_USER=jiradb"
        - "ATL_JDBC_PASSWORD=Strong"
        - "ATL_DB_DRIVER=org.postgresql.Driver"
        - "ATL_DB_TYPE=postgres72"
    networks:
        infrastructure:
            aliases:
                 - jira.internal
proxyserver:
    container_name: proxyserver
    build:
        context: ./proxyserver/config/
    ports:
        - "80:80"
        - "443:443"
     networks:
          - infrastructure

Конфигурация Jira: /opt/atlassian/jira/conf/server.xml

<Connector port="8080"
maxThreads="100"
minSpareThreads="10"
connectionTimeout="20000"
enableLookups="false"
protocol="HTTP/1.1"
redirectPort="8443"
acceptCount="10"
secure="true"
scheme="https"
proxyName="jira.internal.com"
proxyPort="443"

relaxedPathChars="[]|"
relaxedQueryChars="[]|{}^\`&quot;&lt;&gt;"
bindOnInit="false"
maxHttpHeaderSize="8192"
useBodyEncodingForURI="true"
disableUploadTimeout="true" />

Nginx реверс конфигурации прокси:

server {
listen 80;
server_name jira.internal.com www.jira.internal.com;
return 301 https://$server_name$request_uri;
}

server {
listen 443 ssl;
server_name jira.internal.com www.jira.internal.com;
ssl_certificate /etc/ssl/certs/jira-selfsigned.crt;
ssl_certificate_key /etc/ssl/private/jira-selfsigned.key;

location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
proxy_pass http://jira.internal:8080;
client_max_body_size 10M;
}
}

Журнал /var/atlassian/application-data/jira/log/atlassian-jira.log:

HealthCheck:thread-7 ERROR [c.a.t.j.healthcheck.support.GadgetFeedUrlHealthCheck] An error occurred when performing the Gadget feed URL healthcheck
org.apache.http.conn.HttpHostConnectException: Connect to jira.internal.com:443 [jira.internal.com/docker_ip] failed: Connection refused (Connection refused)
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:156)

Я понимаю, что Джира пытается разрешить себя из docker но я не понимаю, почему он использует порт 443. На самом деле я указываю proxy_pass на порт 8080, а не 443. Как я могу разрешить jira.internal.com из самого docker? Спасибо за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...