Portál AbcLinuxu, 6. listopadu 2025 06:58
upstream iisserver {
server 192.168.1.1:81;
}
server {
location / {
proxy_pass http://iisserver;
}
}
pokial mám v location uvedené /nieco/, tak to nefunguje cez www.domena.com/nieco/
upstream iisserver {
server 192.168.1.1:81;
}
server {
location /nieco/ {
proxy_pass http://iisserver;
}
}
S tým, že IIS server vráti chybu že adresár "nieco" neexistuje,
Ako by som dosiahol, že Nginx zavolá IIS bez URI "nieco"
Ďakujem
proxy_pass http://iisserver/
upstream iisserver {
server 192.168.1.1:81;
}
server {
location ~ "^/nieco/" {
rewrite "^/nieco/(.*)$" /$1 break;
proxy_pass http://iisserver/$1;
}
location / {
root /var/www;
}
}
, počiatočnú stránku www.domena.com/nieco/ načíta, ale nie celkom korektne, všetky odkazy na stránke smerujú na cestu www.domena.com/... a nie www.domena.com/nieco/...
pokiaľ som skúsil použiť druhý príklad s rewrite, tak ma to vždy redirectlo na
http://iisserver/Account/Login?ReturnUrl=%2F
čo je neexistujúca adresa
čiže ako keby nevedelo resolvovať upstream a URI "/nieco/" sa stratilo..
nie celkom korektne, všetky odkazy na stránke smerujú na cestu www.domena.com/... a nie www.domena.com/nieco/Což je správně, protože takhle vám ty stránky posílá ten IIS server, který o té adrese
/nieco/ nic neví. Buď tu aplikaci přesuňte do adresáře /nieco/ i na tom IIS serveru, nebo použijte jiný doménový název, abyste mohl i na Nginxu mít tu aplikaci v kořenovém adresáři. Třetí možnost je na Nginxu všechny adresy přepisovat, ale to nedoporučuju, protože je dost pravděpodobné, že se vám nepodaří přepsat je úplně všechny, a pak budete řešit problémy, proč některé věci nefungují a jiné ano.
upstream iisserver{
server 192.168.1.1:81;
}
server {
location = /nieco {
return 302 /nieco/;
}
location /nieco/ {
proxy_pass http://iisserver;
}
location / {
root /usr/share/nginx/html;
}
}
následne je aplikácia plne funkčná na ceste www.domena.com/nieco/
uvidíme ako to bude chodiť, druhá fáza bude pridať tam SSL https protokol ...
vďaka
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.