Назад | Перейти на главную страницу

Артефактор за Nginx без каталога / артефакта в URL-адресе

На нашем старом сервере (размещенном) Artifactory работала за прокси-сервером Apache. Общедоступный URL был http://repo.example.com/

Наш хостинг-провайдер перевел нас на новый сервер.

Мы попросили нашего хостинг-провайдера изменить URL-адрес обратно на http://repo.example.com/, потому что теперь наши задания Jenkins ломаются, и потому что внешние пользователи могут полагаться на URL-адрес. Они сказали мне, что сначала мне нужно изменить некоторые настройки в Artifactory (нет подробностей, что именно), но единственный параметр, который я могу найти в веб-интерфейсе, - это настраиваемая база URL-адресов, и для нее уже установлено значение http://repo.example.com. Я предполагаю, что нужно что-то изменить в конфигурации сервера Tomcat, на котором работает Artifactory, но

  1. Конфигурация Tomcat выходит за рамки моей компетенции
  2. Я не могу изменить конфигурацию самостоятельно, у меня нет доступа на запись в эти файлы.

Что мне действительно нужно, так это конфигурация, которую я могу отправить нашему хостинг-провайдеру, чтобы они могли просто скопировать вставку из моей электронной почты.

Укороченная версия: Как я могу сделать Artifactory, работающий за Nginx, доступным на http://repo.example.com?

РЕДАКТИРОВАТЬ: это текущий /usr/local/artifactory/tomcat/conf/server.xml:

<Server port="8015" shutdown="SHUTDOWN"> <Service name="Catalina"> <Connector port="8083"/> <Engine name="Catalina" defaultHost="localhost"> <Host name="localhost" appBase="webapps"/> </Engine> </Service> </Server>

Было бы достаточно изменить это на:

<Server port="8015" shutdown="SHUTDOWN"> <Service name="Catalina"> <Connector port="8083"/> <Engine name="Catalina" defaultHost="localhost"> <Host name="localhost" appBase="webapps"> <Context path="" docBase="."/> </Host> </Engine> </Service> </Server>

Как уже упоминалось, у меня нет корневого доступа к серверу, поэтому я не могу его изменить.

Это то, что они, вероятно, вставили /etc/nginx/sites-enabled/java_artifactory чтобы заставить его работать:

server {
  listen 80;
  server_name  artifactory.java.********** ;


  error_log  /var/log/nginx/java/artifactory_error.log;
  access_log  /var/log/nginx/java/artifactory_access.log;

  location / {
    # rewrite ^/?$ http://**********/webapp/home.html;
    # rewrite ^/artifactory(.*)$ http://**********$1;

    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_read_timeout 300s;
    # proxy_pass http://localhost:8083/artifactory/;
    proxy_pass http://localhost:8083/;
  }
}