Używam Nginx jako odwrotnego proxy dla mojego wkraplania Apache'a i jako funkcji bezpieczeństwa blokuje dostęp do phpmyadmin, webalizera itp. Dla wszystkich z wyjątkiem localhost, ale używanie nginxa sprawia, że Apache myśli, że to jest localhost, więc wyświetla go publicznie dla wszystkich.Nginx Block/Deny Dostęp do wielu lokalizacji regex
<LocationMatch "^/(?i:(?:xampp|security|phpmyadmin|licenses|webalizer|server-status|server-info))">
Order deny,allow
Deny from all
Allow from ::1 127.0.0.0/8 \
fc00::/7 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 \
fe80::/10 169.254.0.0/16
ErrorDocument 403/
</LocationMatch>
Muszę włączyć powyższy wzór wzorca dopasowując wyrażenie do następującego.
location /phpmyadmin {
proxy_pass htt://127.0.0.1:8080/phpmyadmin;
allow 127.0.0.1;
deny all;
}
Bardzo doceniane za pomoc od każdego, kto zna się na regex w Nginx.
Poniższa metoda działa, ale przerywa normalne adresy URL, które byłyby przyjazne dla wyszukiwarek takich jak domain.com/forums/server-info
location ~ /(xampp|security|phpmyadmin|licenses|webalizer|server-status|server-info) {
deny all;
}
Tak, chcę przekazać go do apache dzięki "Chuan Ma" Jestem nowy w Nginx, ale kocham go w porównaniu do Apache. :) – C0nw0nk
@ C0nw0nk Świetnie. Nigdy nie chcę wracać do Apache po użyciu nginx przez kilka lat. –