Fórum Root.cz
Hlavní témata => Server => Téma založeno: Pedro 30. 11. 2017, 16:22:41
-
Mam nasazenej apache jako proxy branu a dostavam nahodne 403. N pozadavku projde bez problemu a nasledovne totozny pozadavek neprojde.
127.0.0.1 - - [30/Nov/2017:16:13:55 +0100] "GET /test/test.php?test=test HTTP/1.1" 403 464 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:57.0) Gecko/20100101 Firefox/57.0"
127.0.0.1 - - [30/Nov/2017:16:13:57 +0100] "GET /test/test.php?test=test HTTP/1.1" 200 1927 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:57.0) Gecko/20100101 Firefox/57.0"
Problem se nedeje pokud ke strance pristupuju primo.
Konfigurace Apache proxy:
<VirtualHost *:80>
ServerAdmin test@test.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Location />
Require all granted
</Location>
<Location /test>
Require all granted
</Location>
ProxyPass / http://target_host/
ProxyPassReverse / http://target_host/
</VirtualHost>
Server version: Apache/2.4.18 (Ubuntu)
Server built: 2017-09-18T15:09:02
Loaded Modules:
core_module (static)
so_module (static)
watchdog_module (static)
http_module (static)
log_config_module (static)
logio_module (static)
version_module (static)
unixd_module (static)
access_compat_module (shared)
alias_module (shared)
auth_basic_module (shared)
authn_core_module (shared)
authn_file_module (shared)
authz_core_module (shared)
authz_host_module (shared)
authz_user_module (shared)
autoindex_module (shared)
deflate_module (shared)
dir_module (shared)
env_module (shared)
filter_module (shared)
headers_module (shared)
mime_module (shared)
mpm_event_module (shared)
negotiation_module (shared)
proxy_module (shared)
proxy_ajp_module (shared)
proxy_balancer_module (shared)
proxy_connect_module (shared)
proxy_http_module (shared)
rewrite_module (shared)
setenvif_module (shared)
slotmem_shm_module (shared)
socache_shmcb_module (shared)
ssl_module (shared)
status_module (shared
-
aaaaaaaaaaaaa uz viem kde je tvoj problem! jaj nie, pockaj, neviem, lebo si tu chuja napisal...
-
aaaaaaaaaaaaa uz viem kde je tvoj problem! jaj nie, pockaj, neviem, lebo si tu chuja napisal...
Omlouvam se...
na pocitaci (localhost) kde je instalovan Apache jako proxy "brana" zadam opakovane http://localhost/test/test.php. Projde N pozadavku s vysledkem 200 a pak par s 403 nasledovne dalsich N s 200...
Pokud nepouzivam Apache jako proxy branu pro pristup k cilove strance, 403 nedostavam vubec.
-
ked pustim vodu, tak mi tecie. ale ked tam dam ruru, tak niekedy z tej rury voda tecie a niekedy nie...
-
ked pustim vodu, tak mi tecie. ale ked tam dam ruru, tak niekedy z tej rury voda tecie a niekedy nie...
Ok tak jaky informace mam jeste dodat?
-
Klient (Apache proxy - localhost) -- > proxy request -----> www.targetServer.com
Kdyz klient otevre prohlizec a zada http://localhost/test/test.php zobrazi se obsah ze stranky www.targetServer.com/test/test.php = RC200, obcas se ovsem stane ze klient dostane RC403 Forbidden, you don't have permission....
Pokud klient otevre prohlizec a zada primo www.targetServer.com/test/test.php vzdy dostane RC=200. Absolutne me nenapada na zaklade ceho muze dostat 403. Server celou dobu funguje, je dostupny na stejne siti, neprochazi pres FW. Zadny LB na ceste, Apache nepouziva mod_security aj.
-
Mě osobně napadá timeout u proxy, když server nestihne odpovědět, proxy na apache serveru hodí 403. Co takhle zkusit zvětšit pro proxypass zvednout timeout? Ale třeba to je něco jiného, osobně jsem se s tím zatím nesetkal a googlovat to za tazatele nemám zrovna čas :)
-
Neznám odpověd, ale nepřemýšlel tazatel zkusit jako reverzní proxy něco jiného než Apache? Provozuju nginx jako proxy na mnoha serverech a musím zaklepat, ťuk ťuk, šlape jak hodinky a nevím o něm.
-
Pokud by to byl timeout, nedostal by odpověď hned, ale až po vypršení timeoutu, což by předpokládám zaznamenal.
Podíval bych se na DNS. Jestli Apache občas nedostane nějakou divnou odpověď, případně jestli jméno nevede na více IP adres – např. IPv4 a IPv6. Je možné, že je cílový server třeba pro IPv6 špatně nakonfigurován, nebo adresa směřuje někam úplně jinam, a když Apache zrovna zvolí danou adresu, dostanete chybnou odpověď.
-
Existuje obecně nějaký limit na tcp spojení. Takže není občas 403 od iptables, tcp stacku nebo čeho?
Divné je, že to dělá jen lokálně.
-
hej hej, iptables ti hodi 403 do apacha. kriste pane...
-
Ten apache na localhostu mam nasazenej pro ukonceni HTTPS.
Klient http://localhost.... ----> apache proxy pozadavek ----> https://cilovy_server
cilovy server vyzaduje klientsky certifikat pomoci SSLVerifiClient require.
apache proxy puziva SSLProxyMachineCertificateFile pro autentizaci.
Pokud mam klientsky certifikat instalovan v Chrome, Firefox aj.. vse funguje jak ma. Zmineny problem se deje jen nahodne pri pozadavku z proxy. Pokud zakazu SSLVerifiClient --> none, vse funguje jak ma.
Chyba na serveru v pripade 403 je nasledujici
[Fri Dec 01 06:58:15.326619 2017] [ssl:info] [pid 16819] [client x.x.x.x:54065] AH02256: Non-default virtual host with SSLVerify set to 'require' and VirtualHost-specific CA certificate list is only available to clients with TLS server name indication (SNI) support, referer: http://x.x.x.x/test/test.php?test=test
[Fri Dec 01 06:58:15.326624 2017] [core:trace3] [pid 16819] request.c(119): [client x.x.x.x:54065] auth phase 'check access (with Satisfy All)' gave status 403: /test/test.php, referer: http://x.x.x.x/test/test.php?test=test
[Fri Dec 01 06:58:15.326647 2017] [headers:debug] [pid 16819] mod_headers.c(848): AH01503: headers: ap_headers_error_filter()
[Fri Dec 01 06:58:15.326663 2017] [http:trace3] [pid 16819] http_filters.c(1129): [client 37.188.179.188:54065] Response sent with status 403, headers:, referer: hhttp://x.x.x.x/test/test.php?test=test
snazil sem googlit jak to napravit, ale nic moc sem nenasel
-
Takže tu 403 vrací cílový server. To je klíčová informace. V tom případě byste měl pátrat tam a zjistit, proč přesně se ta autentizace nezdaří.