A proxy kiszolgáló (proxy server) egy olyan köztes eszköz, amely a kliens és a cél szerver között helyezkedik el, és továbbítja a kéréseket és válaszokat. A proxy kiszolgálók különféle célokat szolgálhatnak, például:
- Biztonság: Elrejthetik a kliens IP-címét, ezzel növelve a felhasználó anonimitását és biztonságát.
- Gyorsítótárazás: Tárolhatják a gyakran kért adatokat, ezzel csökkentve a hálózati forgalmat és gyorsítva az adatlekérést.
- Tartalomszűrés: Szűrhetik a kéréseket és blokkolhatják a nem kívánt tartalmakat.
- Hozzáférés-vezérlés: Korlátozhatják a felhasználók hozzáférését bizonyos weboldalakhoz vagy szolgáltatásokhoz.
Proxy beállítása a kliensen
Miután a proxy szerver működik, a klienseknek be kell állítani a proxy használatát. Ez operációs rendszerenként és alkalmazásonként változhat.
Például egy Linux kliens esetében a proxy beállítása a terminálban:
export http_proxy="http://proxy_ip:3128" export https_proxy="http://proxy_ip:3128"
Megadhatóak további proxy-t nem használó kiszolgálók, IP-címek, tartománynevek is:
export no_proxy="localhost,127.0.0.1,::1,.*domain1.com,*.domain2.org,*.domain3.hu"
Továbbá akár FTP-kiszolgáló kapcsolatok is beállíthatóak ilyen módon:
export ftp_proxy="http://proxy_ip:port"
Proxy beállítása Java alkalmazás esetén
A Java környezetben különböző módokon lehet proxy beállításokat megadni, beleértve a parancssori argumentumokat, a környezeti változókat, és a programon belüli beállításokat. Az alábbiakban részletesen bemutatom ezeket a lehetőségeket.
Parancssori argumentumok
A Java futtatása során megadhatunk proxy beállításokat a `-D` paraméterek segítségével. Ezek a paraméterek a JVM-nek átadott rendszer tulajdonságok (system properties), amelyekkel beállíthatjuk a proxy-t HTTP, HTTPS és FTP protokollokhoz.
HTTP Proxy
java -Dhttp.proxyHost=proxy_ip -Dhttp.proxyPort=port -jar application.jar
HTTPS Proxy
java -Dhttps.proxyHost=proxy_ip -Dhttps.proxyPort=port -jar application.jar
FTP Proxy
java -Dftp.proxyHost=proxy_ip -Dftp.proxyPort=port -jar application.jar
Proxy hitelesítéssel
Ha a proxy szerver hitelesítést igényel, akkor megadhatjuk a felhasználónevet és jelszót is:
java -Dhttp.proxyUser=username -Dhttp.proxyPassword=password -jar application.jar
Proxy megkerülés (No Proxy)
Megadhatjuk azokat a címeket, amelyeket a proxy beállítások nem érintenek:
java -Dhttp.nonProxyHosts="localhost|127.0.0.1|*.example.com" -jar application.jar
A `|` karakterrel elválasztott címek esetében nem használja a proxy-t.
Környezeti változók
A Java környezeti változók segítségével is beállítható a proxy. Ezek a beállítások minden Java alkalmazásra érvényesek lesznek, amelyeket az adott shell-ben indítunk el.
HTTP Proxy
export JAVA_TOOL_OPTIONS="-Dhttp.proxyHost=proxy_ip -Dhttp.proxyPort=port"
HTTPS Proxy
export JAVA_TOOL_OPTIONS="-Dhttps.proxyHost=proxy_ip -Dhttps.proxyPort=port"
A proxy beállítások megadása Java környezetben rugalmas és többféle módon történhet. Az adott módszer kiválasztása függ az alkalmazás környezetétől és a proxy használatának szükségességétől.Ezek a paraméterek a JVM számára állítják be a proxy-t, így bármely Java alkalmazás, amely a JVM-en fut, használni fogja a megadott proxy beállításokat.
Proxy beállítása az Elasticsearch programfuttatáshoz:
ES_JAVA_OPTS="-Dhttp.proxyHost=proxy_ip -Dhttp.proxyPort=port -Dhttps.proxyHost=proxy_ip -Dhttps.proxyPort=port" /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu
Proxy beállítások wget alatt
A wget parancs használata során a proxy beállításokat megadhatja a parancssorban vagy konfigurációs fájl segítségével. A parancssorban például:
wget -e use_proxy=yes -e http_proxy=http://proxy_ip:port http://example.com
Ezeket a beállításokat a `~/.wgetrc` fájlban is megadhatja, hogy ne kelljen minden egyes futtatásnál megadni őket:
use_proxy = on http_proxy = http://proxy_ip:port https_proxy = http://proxy_ip:port
Proxy beállítások cURL alatt
A `curl` parancs használata során a proxy beállításokat a következőképpen adhatja meg:
curl -x http://proxy_ip:port http://example.com
Proxy beállítások Git alatt
A git használata során a proxy beállításokat a következő parancsokkal adhatja meg:
git config --global http.proxy http://proxy_ip:port git config --global https.proxy http://proxy_ip:port
Proxy Beállítások APT Alatt (Linux Mint Debian Edition, Linux Mint/ Debian/Ubuntu)
Az APT használata során a proxy beállításokat a `/etc/apt/apt.conf.d/` könyvtárban található fájlok egyikében adhatjuk meg. Például hozzunk létre egy új fájlt:
sudo nano /etc/apt/apt.conf.d/95proxies
Adja hozzá a következő sorokat:
Acquire::http::Proxy "http://proxy_ip:port"; Acquire::https::Proxy "http://proxy_ip:port";
Proxy beállítások Yum alatt (CentOS/RHEL)
A Yum használata során a proxy beállításokat a `/etc/yum.conf` fájlban adhatja meg:
sudo nano /etc/yum.conf
Adjuk hozzá a következő sorokat:
proxy=http://proxy_ip:port
Proxy beállítások npm alatt
Az npm (Node.js csomagkezelő) használata során a proxy beállításokat a következő parancsokkal adhatja meg:
npm config set proxy http://proxy_ip:port npm config set https-proxy http://proxy_ip:port
Proxy beállítások Python pip alatt
A pip (Python csomagkezelő) használata során a proxy beállításokat a következő parancsokkal adhatja meg:
pip install package --proxy http://proxy_ip:port
Ezek a példák bemutatják, hogyan lehet különböző alkalmazások és eszközök esetében proxy-t beállítani Linux alatt. Az adott alkalmazás dokumentációját is érdemes áttanulmányozni, mert előfordulhatnak speciális beállítási lehetőségek is.
A Docker.service fájl átírásával. A systemctl status docker parancs kiadásával keresse meg a service fájlt, ami a /usr/lib/systemd/system/docker.service helyen lesz vélhetően.
A systemctl edit docker.service paranccsal szerkeszthető egy kiegészítő fájl, amely [service] blokkjába az alábbiakat kell felvenni:
Environment=HTTP_PROXY=http://proxy_ip:port/ Environment=HTTPS_PROXY=http://proxy_ip:port/ Environment=NO_PROXY=localhost,127.0.0.1,.domain1.org,.domain2.net,.domain3.hu