Files
fedora-infra_ansible/roles/httpd/reverseproxy/templates/reversepassproxy.forge.conf
Adam Williamson fc36e437c0 reverseproxy: whoops, drop stray duplicate endif
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2026-01-06 10:17:49 -08:00

38 lines
1.7 KiB
Plaintext

# Redirect links from Fedora Forge for Pagure attachments
<Proxy "https://{{ env_prefix }}pagure.io">
SSLProxyEngine On
SSLProxyVerify require
SSLProxyVerifyDepth 2
SSLProxyCACertificateFile "/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem"
</Proxy>
{% if env == "staging" %}
# We also define prod pagure on staging as we special-case some proxies to prod pagure
<Proxy "https://pagure.io">
SSLProxyEngine On
SSLProxyVerify require
SSLProxyVerifyDepth 2
SSLProxyCACertificateFile "/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem"
</Proxy>
# Special case for stg forgejo testdays-web to proxy to prod pagure
ProxyPassMatch ^.*?/fedora-qa/testdays-web/issue/raw/files/(.*)$ https://pagure.io/fedora-qa/testdays-web/issue/raw/files/$1
{% endif %}
# Forgejo can't decide whether to render root-relative links as relative
# to the server root or the repo root, and currently behaves differently
# for image and non-image links:
# https://codeberg.org/forgejo/forgejo/issues/6360#issuecomment-9010932
# This first match handles cases where the link is rendered relative to
# to repo. As all repos must have an org in Forgejo, if there are more
# than two directories before /issue, this must be repo-relative; the
# third match will be either pagurerepo or pagureorg/pagurerepo
ProxyPassMatch ^/(.+?)/(.+?)/(.+?)/issue/raw/files/(.*)$ https://{{ env_prefix }}pagure.io/$3/issue/raw/files/$4
# This match handles cases where the link is rendered relative to the
# server root; if we didn't hit the first match, the first match here
# will be pagurerepo or pagureorg/pagurerepo
ProxyPassMatch ^/(.+?)/issue/raw/files/(.*)$ https://{{ env_prefix }}pagure.io/$1/issue/raw/files/$2
{% include 'reversepassproxy.conf' %}