Provoz SOFiE za explicitní proxy
Tento postup slouží pro instalace, kde je odchozí HTTP/HTTPS provoz ze serveru SOFiE povolený pouze přes explicitní proxy. Ruční nastavení níže je záměrně kompatibilní s příkazem sofie proxy, který je dostupný od verze 2.6+. Po ručním nastavení tedy půjde přejít na správu pomocí skriptu.
Od verze 2.6+ lze použít automatizovaný postup:
sofie proxy status
sofie proxy set proxy.example.local 3128
sofie proxy unset
sofie restartPro verzi 2.5 a starší nebo pro ruční zásah použijte následující postup.
Zatím je podporována pouze proxy zadaná jako host a port bez autentizace. Pokud proxy vyžaduje autentizaci, lze konfiguraci ručně dále upravit, ale to není součástí tohoto návodu.
Co se nastavuje
Java služby SOFiE dostanou JVM properties pro HTTP a HTTPS proxy přes soubor
/etc/sofie/setenv.local.sh. Týká se aplikačních služeb jakosofie-web,sofie-worker,sofie-schedulerasofie-sftp-server.SOFiE DNF repozitář v souboru
/etc/yum.repos.d/sofie.repodostane řádekproxy=http://host:port.
Tímto postupem se nenastavuje globální proxy pro celý operační systém, nginx před aplikací ani aktualizační mechanismy antivirů či jiných externích komponent. Pokud je toto také potřeba, postupujte podle dokumentace či návodů jednotlivých výrobců (operačního systému, anti-virů, atd.).
Ruční nastavení
Příklady níže používají proxy proxy.example.local na portu 3128. Nahraďte je skutečným hostem a portem. Kvůli kompatibilitě se skriptem používejte pro host pouze písmena, čísla, tečku, pomlčku a podtržítko; port musí být v rozsahu 1 až 65535.
Následující kroky je třeba provádět jako root.
(volitelně) Zálohujte upravované soubory
cp -a /etc/yum.repos.d/sofie.repo /etc/yum.repos.d/sofie.repo.bak.$(date +%Y%m%d%H%M%S)
if [ -f /etc/sofie/setenv.local.sh ]; then
cp -a /etc/sofie/setenv.local.sh /etc/sofie/setenv.local.sh.bak.$(date +%Y%m%d%H%M%S)
fiNastavte Java proxy
Do souboru /etc/sofie/setenv.local.sh vložte následující blok:
# BEGIN SOFIE MANAGED PROXY
SOFIE_PROXY_JAVA_OPTS="-Dhttp.proxyHost=proxy.example.local -Dhttp.proxyPort=3128 -Dhttps.proxyHost=proxy.example.local -Dhttps.proxyPort=3128 -Dhttp.nonProxyHosts=localhost|127.0.0.1|::1"
JAVA_OPTS="$JAVA_OPTS $SOFIE_PROXY_JAVA_OPTS"
# END SOFIE MANAGED PROXYZnačky # BEGIN SOFIE MANAGED PROXY a # END SOFIE MANAGED PROXY ponechte přesně v tomto tvaru; podle nich může později skript sofie proxy nastavení nalézt a spravovat.
Hodnota http.nonProxyHosts zajišťuje, že lokální komunikace nepůjde přes proxy. Pokud ji ručně rozšíříte, počítejte s tím, že pozdější spuštění sofie proxy set ji nahradí výchozí hodnotou skriptu.
Nastavte proxy pro SOFiE DNF repozitář
Otevřete soubor /etc/yum.repos.d/sofie.repo a do sekce SOFiE repozitáře přidejte za řádek baseurl=... následující řádek. Pokud už v souboru řádek proxy=... existuje, nahraďte ho:
proxy=http://proxy.example.local:3128Restartujte aplikaci
Java proxy se projeví až po restartu aplikačních služeb. Restart způsobí krátký výpadek aplikace.
sofie restart(volitelně) Kontrola nastavení
Po ručním nastavení zkontrolujte obsah obou souborů. Například takto:
grep -A3 -B1 'SOFIE MANAGED PROXY' /etc/sofie/setenv.local.sh
grep -E '^[[:space:]]*proxy[[:space:]]*=' /etc/yum.repos.d/sofie.repoDostupnost SOFiE repozitáře přes proxy lze ověřit například takto:
dnf --disablerepo='*' --enablerepo='sofie' makecachePo upgradu na verzi (2.6+), která obsahuje příkaz sofie proxy, ověřte převzetí ruční konfigurace:
sofie proxy statusPokud byl použit přesný blok výše a standardní řádek proxy=... v sofie.repo, skript zobrazí Java proxy i proxy pro DNF repozitář a následně ji umí spravovat příkazy sofie proxy set ... a sofie proxy unset.
Ruční odstranění
Pokud potřebujete konfiguraci odstranit ještě před přechodem na verzi se skriptem, odstraňte ručně úpravy provedené výše v části Ruční nastavení. Pokud byla provedena záloha souborů, lze ji využít a přepsat soubory zálohovanou verzí před úpravami. Nebo použijte následující příkazy, které úpravy vymažou a restartují služby:
sed -i '/^# BEGIN SOFIE MANAGED PROXY$/,/^# END SOFIE MANAGED PROXY$/d' /etc/sofie/setenv.local.sh
sed -i -E '/^[[:space:]]*#?[[:space:]]*proxy[[:space:]]*=/d' /etc/yum.repos.d/sofie.repo
sofie restartPo upgradu na verzi se skriptem (2.6+) můžete použít:
sofie proxy unset
sofie restartPoznámky
DNF nastavení v tomto postupu platí jen pro SOFiE repozitář. Pokud má přes proxy chodit i aktualizace operačního systému z jiných repozitářů, nastavte je samostatně podle pravidel daného prostředí.
Java proxy se použije jen u klientů, kteří respektují standardní systémové properties Javy. Samotná přítomnost parametrů v
JAVA_OPTSnezaručuje proxy pro každý externí nástroj spouštěný mimo JVM.Nepřidávejte do hodnoty
proxyHostschémahttp://. Pro Java properties se používá jen host, zatímco vsofie.repose zapisuje celéhttp://host:port.