2017-01-31 9 views
1

Я настроил обратный прокси-сервер для Rundeck за Nginx. Ниже Rundeck.conf, который находится в пути/и т.д./Nginx/сайты с поддержкойRundeck обратный прокси-сервер за Nginx

ssl_certificate  /etc/nginx/ssl/server.crt; 
ssl_certificate_key /etc/nginx/ssl/server.key; 
ssl_session_cache shared:SSL:1m; 
ssl_prefer_server_ciphers on; 
## server configuration 
server { 
    listen 443 ssl; 
    listen 80 ; 
    server_name ~(?<repo>.+)\.pilot1 pilot1; 
    if ($http_x_forwarded_proto = '') { 
     set $http_x_forwarded_proto $scheme; 
    } 
    ## Application specific logs 
    ## access_log /var/log/nginx/pilot1.ci1.peapod.com-access.log timing; 
    ## error_log /var/log/nginx/pilot1.ci1.peapod.com-error.log; 
# rewrite ^/$ /rundeck/menu/home redirect; 
    rewrite ^/rundeck/?(/rundeck)?$ /rundeck/menu/home redirect; 
    chunked_transfer_encoding on; 
    client_max_body_size 0; 

location ^~ /rundeck/ { 
     proxy_pass   http://localhost:4440; 
     proxy_read_timeout 900; 
} 
} 

Обратный прокси отлично работает, когда я просматриваю и войти в Rundeck.But, когда я нажимаю выйти перенаправление на входе страница предоставляет порт: 4440 ниже ВХОД ----> pilot1/Rundeck перенаправляет pilot1/Rundeck/меню/дома (работает отлично) Выход ---> pilot1: 4440/Rundeck/пользователя/loggedout

Я не хочу, чтобы порт был выставлен. Как исправить эту проблему?

+0

Вы установить framework.rundeck.url и grails.serverURL для использования https? Проверьте 'framework.rundeck.url' в'/etc/rundeck/framework.properties' и 'grails.serverURL' в'/etc/rundeck/rundeck-config.properties'. – minamijoyo

ответ

1

Вот что я должен был сделать:

В Nginx конфигурации под секцией соответствующей 'сервера', учрежденное местоположение:

location /rundeck/ { 
    proxy_pass http://localhost:4440; 
    proxy_set_header X-Forwarded-Host $host:$server_port; 
    proxy_set_header X-Forwarded-Server $host; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    } 

Rundeck конфигурацию:

sed -i "/^grails.serverURL/c grails.serverURL = ${RUNDECK_URL}" /etc/rundeck/rundeck-config.properties 
sed -i "/^framework.server.url/c framework.server.url = ${RUNDECK_URL}" /etc/rundeck/framework.properties 
sed -i '/^RDECK_JVM="$RDECK_JVM/ s/"$/ -Dserver.web.context=\/rundeck"/' /etc/rundeck/profile 

где RUNDECK_URL должен указать вам NGINX ip (имя DNS), так http://my-nginx.com/rundeck