Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rundeck和SSL代理_Ssl_Nginx_Reverse Proxy_Rundeck - Fatal编程技术网

Rundeck和SSL代理

Rundeck和SSL代理,ssl,nginx,reverse-proxy,rundeck,Ssl,Nginx,Reverse Proxy,Rundeck,我目前正在尝试建立一个运行Rundeck和nginx反向ssl代理的环境。我在网上找到了这个场景的不同教程,但没有一个适合我。我在linux环境中工作,rundeck和nginx都在linux上运行。rundeck Loook的我的nginx配置文件如下: server { access_log /var/log/nginx/rundeck.access.log main; listen 443; listen [::]:44

我目前正在尝试建立一个运行Rundeck和nginx反向ssl代理的环境。我在网上找到了这个场景的不同教程,但没有一个适合我。我在linux环境中工作,rundeck和nginx都在linux上运行。rundeck Loook的我的nginx配置文件如下:

server {
        access_log   /var/log/nginx/rundeck.access.log  main;


        listen 443;
        listen       [::]:443;
        ssl    on;
        ssl_certificate    /etc/nginx/conf.d/cert.crt;
        ssl_certificate_key    /etc/nginx/conf.d/key.rsa;

        location / {
          proxy_pass http://localhost:4440/;
          proxy_set_header        Host            $host;
          proxy_set_header        X-Real-IP       $remote_addr;
          proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header X-Ssl on;
}

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }
此外,我在rundeck中配置了这些参数:
framework.server.url=https://localhost:4440
grails.serverURL=https://lde71d6p.de.top.com:443
我尝试了使用https或仅使用http、不使用端口和使用端口的不同组合。它们都不能正常工作

对于当前配置,我得到以下错误情况。 如果我尝试调用->连接错误(似乎没问题,因为nginx没有处理端口80) ->获取302并重定向到,然后获取连接错误。 让我直接进入rundeck的登录界面。都很好

有人能帮我解决我首先提到的错误情况吗

亲切问候,


Max

要在SSL代理后运行Rundeck,需要以下三个设置:

  • 将RunDeck设置为http
  • 在概要文件中,将选项-Drundeck.jetty.connector.forwarded=true添加到RDECK_JVM
  • 将framework.rundeck.url和grails.serverURL设置为使用https
在您的情况下,配置文件设置似乎还没有完成

配置文件位于
/etc/rundeck/profile
中。(可能取决于分配情况)

将选项
-Drundeck.jetty.connector.forwarded=true
添加到
RDECK\u JVM
,如下所示:

RDECK_JVM="-Djava.security.auth.login.config=$JAAS_CONF \
       -Dloginmodule.name=$LOGIN_MODULE \
       -Drdeck.config=$RDECK_CONFIG \
       -Drundeck.server.configDir=$RDECK_SERVER_CONFIG \
       -Dserver.datastore.path=$RDECK_SERVER_DATA/rundeck \
       -Drundeck.server.serverDir=$RDECK_INSTALL \
       -Drdeck.projects=$RDECK_PROJECTS \
       -Drdeck.runlogs=$RUNDECK_LOGDIR \
       -Drundeck.config.location=$RDECK_CONFIG/rundeck-config.properties \
       -Djava.io.tmpdir=$RUNDECK_TEMPDIR \
       -Drundeck.server.workDir=$RUNDECK_WORKDIR \
       -Dserver.http.port=$RDECK_HTTP_PORT \
       -Drundeck.jetty.connector.forwarded=true"

你犯错误的原因是什么

错误-1:
listen443
您的服务器在端口80上没有侦听,要修复它,请添加
listen80在您的配置中

错误-2:
位置/{
代理通行证http://localhost:4440/;
将请求重定向到4440,获取错误代码
302

错误3和4:错误的代理配置

请使用下面的配置来解决您的问题

server {

listen 80;

server_name <hostname>;

location / {

    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;

    proxy_redirect http://localhost:4440/ /;

    proxy_pass http://localhost:4440/;
    }

 }
服务器{
听80;
服务器名称;
地点/{
代理集头X-Real-IP$remote\u addr;
proxy\u set\u header X-Forwarded-For$proxy\u add\u X\u Forwarded\u For;
代理设置头主机$Host;
代理服务器重定向http://localhost:4440/ /;
代理通行证http://localhost:4440/;
}
}

嘿,谢谢你的回答,我忘了提到这一点,我已经更改了JVM参数:
export RDECK_JVM=“-dlogimodule.conf.name=jaas-gdiscombined.conf \-dlogimodule.name=combled-Drundeck.jetty.connector.forwarded=true”
这没有帮助:(在我的
/etc/rundeck/framework.properties
中,
framework.server.url
是http,而
framework.rundeck.url
是https。请检查您的设置。