如何解决Web 代理背后的 Rundeck 编辑:我留下了一个在 CENTOS/RHEL 上使用 NGINX 的例子
我正在内部设置 Rundeck 以供自己测试。 我目前正在尝试访问插件的官方存储库,但我知道服务器没有互联网连接。
我在文档中没有看到有关如何将 webproxy 应用到 rundeck 应用程序的说明。
以前有人这样做过吗?
编辑
服务器是一台 RHEL8 机器。 我不是指使用反向代理。
** 找到答案 **
经过几天的搜索:
- 如果您使用的服务器与互联网断开连接
- 有一个内部代理来路由外部流量
- 使用 rundeck 的 RHEL 包
解决方案
RDECK_JVM_SETTINGS="${RDECK_JVM_SETTINGS:- -Xmx1024m -xms256m -XX:MaxMetaspaceSize=256m -server -Dhttp.proxySet=true -Dhttp.proxyHost=server -Dhttp.proxyPort=8080 -Dhttps.proxySet=true -Dhttps.proxyHost=server -Dhttps.proxyPort=80 -Dhttp.nonProxyHosts=*.place.com }"
解决方法
您可以使用 Docker Compose 快速测试。
想法是将 NGINX 容器放在 Rundeck 容器的前面。
/your/path/docker-compose.yml
内容:
version: "3.7"
services:
rundeck:
build:
context: .
args:
IMAGE: ${RUNDECK_IMAGE:-rundeck/rundeck:3.3.10}
container_name: rundeck-nginx
ports:
- 4440:4440
environment:
RUNDECK_GRAILS_URL: http://localhost
RUNDECK_SERVER_FORWARDED: "true"
nginx:
image: nginx:alpine
volumes:
- ./config/nginx.conf:/etc/nginx/conf.d/default.conf:ro
ports:
- 80:80
/your/path/Dockerfile
内容:
ARG IMAGE
FROM ${IMAGE}
如果您检查卷块,您需要在 /config 路径中进行特定的 NGINX 配置:
/your/path/config/nginx.conf
内容:
server {
listen 80 default_server;
server_name rundeck-cl;
location / {
# get the rundeck internal address/port
proxy_pass http://rundeck:4440;
}
}
构建:
docker-compose build
运行:
docker-compose up
要查看您的 Rundeck 实例:
打开浏览器输入localhost
,可以看到NGINX代理服务器后面的Rundeck。
编辑:我留下了一个在 CENTOS/RHEL 上使用 NGINX 的例子
1- 通过 YUM 在 Rundeck 服务器上安装 Rundeck。
2- 通过 YUM 安装 NGINX,只需执行 sudo yum -y install nginx
(如果您愿意,您可以在同一个 Rundeck 服务器或仅在另一个服务器中执行此操作)。
3- NGINX 方面。转到 /etc/nginx/nginx.conf
并在 server
部分中添加以下块:
location /rundeck {
proxy_pass http://your-rundeck-host:4440;
}
保存文件。
4- RUNDECK 侧。 Create 位于 /etc/sysconfig
路径的名为 rundeckd
的新文件,内容如下:
RDECK_JVM_OPTS="-Dserver.web.context=/rundeck"
授予 rundeck 用户权限:chown rundeck:rundeck /etc/sysconfig/rundeckd
并保存。
5- RUNDECK 侧。打开/etc/rundeck/rundeck-config.properties
文件,勾选grails.serverURL
参数,需要输入外部IP或服务器DNS名称以及NGINX端配置定义的正确上下文。
grails.serverURL=http://your-nginx-ip-or-dns-name/rundeck
保存。
6- NGINX 方面。启动 NGINX 服务:systemctl start nginx
(稍后如果您想在每次启动时启用,只需执行 systemctl enable nginx
)。
7- RUNDECK 侧。启动 Rundeck 服务,systemctl start rundeckd
(这需要几秒钟,稍后您可以启用该服务在每次服务器启动时启动,只需执行:systemctl enable rundeckd
)。
现在 rundeck 在 NGINX 代理服务器后面,只需打开浏览器并输入:http://your-nginx-ip-or-dns-name/rundeck
。
经过几天的搜索:
- 如果您使用的服务器与互联网断开连接
- 有一个内部代理来路由外部流量
- 使用 rundeck 的 RHEL 包
解决方案
-
编辑您的 /etc/sysconfig/rundeckd 文件
-
在文件末尾粘贴自定义 RDECK_JVM_SETTINGS
RDECK_JVM_SETTINGS="${RDECK_JVM_SETTINGS:- -Xmx1024m -Xms256m -XX:MaxMetaspaceSize=256m -server -Dhttp.proxySet=true -Dhttp.proxyHost=server -Dhttp.proxyPort=8080 -Dhttps.proxySet=true proxyHost=server -Dhttps.proxyPort=80 -Dhttp.nonProxyHosts=*.place.com }"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。