2016-01-26 3 views
0

Я установки обратного прокси между Nginx и Artifactory, следуя инструкциям из здесь: https://www.jfrog.com/confluence/display/RTF/nginxArtifactory просмотр с Nginx и HTTP SSO слишком медленно

Я также включен HTTP SSO в Artifactory таким образом, чтобы пользователь заверен Artifactory является возможность автоматического входа в Artifactory. Инструкции следуют отсюда: https://www.jfrog.com/confluence/display/RTF/Single+Sign-on

Все работает, за исключением того, что Artifactory работает очень медленно. Когда я перехожу на сайт (например, artifactory.myorg.com/webapp/#/home), появляется колесо прогресса, и он продолжает катиться и на каждой странице.

Если я выключу Nginx и получаю доступ к Artifactory с помощью встроенного двигателя Tomcat, тогда все будет хорошо работать.

Есть ли что-нибудь, что я могу сделать, чтобы исправить это?

Update Травоядные прекрасно, как только я отключить следующие настройки:

proxy_set_header REMOTE_USER $remote_user;

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

Вот как мой Nginx/Artifactory конфигурации выглядит (Они были порождаемые странице настройки обратного прокси-сервера в Artifactory 4.4):

ssl_certificate  /etc/ssl/certs/dummy.crt; 
ssl_certificate_key /etc/ssl/keys/dummy.key; 
ssl_session_cache shared:SSL:1m; 
ssl_prefer_server_ciphers on; 

server { 
    listen 443 ssl; 



server_name dummy.net; 
if ($http_x_forwarded_proto = '') { 
    set $http_x_forwarded_proto $scheme; 
} 
## Application specific logs 
access_log /var/log/nginx/dummy-access.log; 
error_log /var/log/nginx/dummy-error.log; 

rewrite ^/$ /artifactory/webapp/ redirect; 
rewrite ^/artifactory$ /artifactory/webapp/ redirect; 

location /artifactory/ { 

auth_pam    "Secure Zone"; 
auth_pam_service_name "sevice"; 

proxy_read_timeout 900; 
proxy_pass_header Server; 
proxy_cookie_path ~*^/.* /; 
proxy_pass   http://127.0.0.1:8081/artifactory/; 

proxy_set_header DUMMY_USER $remote_user; 
proxy_set_header X-Artifactory-Override-Base-Url $http_x_forwarded_proto://$host:$server_port/artifactory; 
proxy_set_header X-Forwarded-Port $server_port; 
proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto; 
proxy_set_header Host    $http_host; 
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
} 

}

+0

Какую версию Artifactory вы используете? это может быть связано с [RTFACT-9003] (https://www.jfrog.com/jira/browse/RTFACT-9003), разрешенным в версии [4.4.2] (https://www.jfrog.com/confluence/ дисплей/RTF/Artifactory + 4.4.2) –

+0

Artifactory 4.4 –

+0

Обновление до 4.4.2 не решило проблему.:( –

ответ

1

Да. Использование Nginx в качестве обратного прокси не должно создавать заметных накладных расходов и может ускорить работу, если вы используете его для обслуживания статических активов.

Тестирование, которое привносилось в Nginx, поэтому было бы полезно разместить соответствующую конфигурацию Nginx.

Но я выйду из конечности и сделаю предположение, не увидев его. Вероятно, вы используете proxy_pass в Nginx для отправки запросов на Artifactory. Если Artifactory находится на том же хосте, что и Nginx, то адрес proxy_pass должен быть портом на 127.0.0.1. Если вы вместо этого включаете в себя имя домена, то ваш трафик может немного поработать с Nginx обратно на балансировщик нагрузки, через CloudFlare или какой-либо другой неэффективный маршрут.

+0

Привет, я добавил настройки Nginx в свой ответ. Прокси-пароль - proxy_pass http://127.0.0.1:8081/artifactory/; –

0

После попытки воспроизвести ваш сценарий несколько раз порекомендуете попробовать еще одну вещь, чтобы изолировать проблему. Попробуйте установить имя пользователя исправления в значение REMOTE_USER вместо переменной.

proxy_set_header REMOTE_USER username; 

Кстати, из сниппета он появляется имя заголовка является DUMMY_USER и в примере вы указали REMOTE_USER. Убедитесь, что имя заголовка совпадает с настройкой в ​​Artifactory в разделе Admin> Security | HTTP-SSO.

Если эта проблема все еще воспроизводится, обратитесь по адресу [email protected]