小编Les*_*ter的帖子

openSUSE zypper 错误 - 在指定的 URL 中找不到有效的元数据,无法确定存储库类型

我有一个RPM repository运行JFrog Artifactory。CentOS 和 RHEL 主机正在使用它,我也想将它与我的 openSUSE 主机一起使用。

JFrog 的这份文档没有明确说明只支持 yum 客户端,并且由于他们使用了术语RPM repository,对我来说这表明存储库也应该与zypper客户端一起使用。

这是一个关于源代码的opensuse文档repomd/rpm md/YUM,使用该createrepo命令创建的 openSUSE 主机上的存储库的视觉检查看起来与 JFrog RPM 存储库布局一致。

opensuse:~ # ll /data/internalrepo/
total 1157456
-rw-r--r-- 1 root root 1185231772 Apr 22 08:54 myapp-server-2019.0.x86_64.rpm
drwxr-xr-x 1 root root        494 Apr 22 08:55 repodata
opensuse:~ # ll /data/internalrepo/repodata/
total 324
-rw-r--r-- 1 root root   1901 Apr 22 08:55 6a654dd3c11ae0f51efd9cd3fd09ccfdc3c48e988ab886c370e94f7f5bcdf3d1-primary.xml.gz
-rw-r--r-- 1 root root 315545 …
Run Code Online (Sandbox Code Playgroud)

repository opensuse artifactory zypper sles

7
推荐指数
1
解决办法
1296
查看次数

HAProxy http-request 将特定路径重定向到另一个路径

我对 HTTP 协议和一点点 HAProxy 非常熟悉,但我以前从未真正搞过 URL 重写和重定向。现在,我有 2 个“简单”的 HTTP 重定向要求,我一直很难弄清楚。

  1. https://appserver.example.com应重定向到https://appserver.example.com/myapp/webapp/?auth=saml将用户指向saml登录页面。
  2. https://appserver.example.com/?auth=standard应该重定向到https://appserver.example.com/myapp/webapp/?auth=standard

要求 1 工作正常:

myuser:~ myuser$ curl -I https://appserver.example.com
HTTP/1.1 301 Moved Permanently
Content-length: 0
Location: https://appserver.example.com/myapp/webapp/?auth=saml
Connection: close

myuser:~ myuser$ 
Run Code Online (Sandbox Code Playgroud)

但我在如何实施#2 上遇到了困难。正如我所想,关键是添加一个acl,然后在匹配http-request redirect prefix时添加另一行。acl

acl is_auth_std path /?auth=standard
http-request redirect prefix /myapp/webapp/?auth=standard code 301 if is_auth_std
Run Code Online (Sandbox Code Playgroud)

但显然这还不够。/?auth=standard仍然重定向到假定的根 URL:

myuser:~ myuser$ curl -I https://appserver.example.com/?auth=standard
HTTP/1.1 301 Moved Permanently
Content-length: 0
Location: https://appserver.example.com/myapp/webapp/?auth=saml
Connection: close …
Run Code Online (Sandbox Code Playgroud)

url url-rewriting haproxy

7
推荐指数
1
解决办法
3万
查看次数

JFrog Artifactory 连接 PostgreSQL 数据库失败

我按照以下指南使用 RPM/Yum 和使用外部 PostgreSQL 数据库安装 JFrog Artifactory OSS。

SELinux 被禁用并jfrog-artifactory-oss从 JFrog 存储库 [ https://jfrog.bintray.com/artifactory-rpms]安装。

检查服务:

[root@jfrog ~]# systemctl status artifactory -l
? artifactory.service - Artifactory service
   Loaded: loaded (/usr/lib/systemd/system/artifactory.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2020-08-08 01:56:50 +08; 11min ago
  Process: 9714 ExecStop=/opt/jfrog/artifactory/app/bin/artifactoryManage.sh stop (code=exited, status=0/SUCCESS)
  Process: 10268 ExecStart=/opt/jfrog/artifactory/app/bin/artifactoryManage.sh start (code=exited, status=0/SUCCESS)
 Main PID: 12388 (java)
   CGroup: /system.slice/artifactory.service
           ? 12388 /opt/jfrog/artifactory/app/third-party/java/bin/java -Djava.util.logging.config.file=/opt/jfrog/artifactory/app/artifactory/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -server -Xss256k -XX:+UseG1GC -XX:OnOutOfMemoryError=kill -9 %p …
Run Code Online (Sandbox Code Playgroud)

artifactory

6
推荐指数
0
解决办法
529
查看次数

JFrog Artifactory 间歇性地拒绝身份验证并显示 403 禁止

由于一些“身份验证”问题,很难配置客户端(SLES 和 OpenSUSE)以与我们的JFrogzypper一起使用。起初,我认为这只是opensuse 的问题,所以我首先专注于让 zypper 工作的努力。是上一个问题。RPM Repositoryzypper

但是,客户端(centOS)也会时不时地出现这些与身份验证相关的错误yum,尽管并不那么频繁。

所以我尝试man-in-the-middle看看幕后发生了什么,这是以下序列zypper


场景 1 - 身份验证成功

以下是 a 的序列zypper refresh --repo myrepo

(1)发送带有-encoded的zypperHTTP请求:HEADbase64username:

HEAD /myapp-release-rpm/stable/myapp/2019/3/repodata/repomd.xml HTTP/1.1
Host: rpm.example.com
Authorization: Basic dXNlcm5hbWU6
User-Agent: ZYpp 17.19.0 (curl 7.60.0) openSUSE-Leap-15.1-x86_64
Accept: */*
Connection: close
Run Code Online (Sandbox Code Playgroud)

(2)jfrog使用 HTTP 进行响应,标头401 UnauthorizedWWW-Authenticate

HTTP/1.1 401 Unauthorized
Date: Thu, 28 May 2020 08:20:04 GMT
Content-Type: …
Run Code Online (Sandbox Code Playgroud)

artifactory http-headers

5
推荐指数
1
解决办法
3655
查看次数

使用 docker 的 Ansible 分子 - 如何指定内存限制

我有一个分子测试,它启动 2 个 Docker 容器,用于一次测试 2 个应用程序版本。

dependency:
  name: galaxy
driver:
  name: docker
lint:
  name: yamllint
platforms:
  - name: molecule1
    hostname: molecule1
    image: "geerlingguy/docker-${MOLECULE_DISTRO:-centos7}-ansible:latest"
    command: ${MOLECULE_DOCKER_COMMAND:-""}
    volumes:
      - /sys/fs/cgroup:/sys/fs/cgroup:ro
    privileged: true
    pre_build_image: true
  - name: molecule2
    hostname: molecule2
    image: "geerlingguy/docker-${MOLECULE_DISTRO:-centos7}-ansible:latest"
    command: ${MOLECULE_DOCKER_COMMAND:-""}
    volumes:
      - /sys/fs/cgroup:/sys/fs/cgroup:ro
    privileged: true
    pre_build_image: true
provisioner:
  name: ansible
  inventory:
    host_vars:
      molecule1:
        app_version: "v1"
      molecule2:
        app_version: "v2"
  lint:
    name: ansible-lint
scenario:
  name: default
  converge_sequence:
    - syntax
    - lint
    - create
    - prepare
    - converge
    - idempotence
    - …
Run Code Online (Sandbox Code Playgroud)

ansible docker molecule

3
推荐指数
1
解决办法
610
查看次数