我開始與Nginx合作,將代理我的應用程序的代理轉換爲我的客戶網絡外部的Internet訪問。使用通配符限制nginx上的用戶
我設法使其工作,限制需要暴露的URL等,但有一件事仍然是由於完成我的工作。
我想根據用戶名限制用戶訪問。但不是爲每個用戶創建一個if,我希望使用通配符,因爲所有要阻止的用戶都以特定字符串結尾:@saspw
我的/ etc/nginx/conf的示例.D/reverseproxy.conf
server {
listen 80; # Proxy trafic for SAS Visual Analytics Transport Services on HTTP
server_name mcdonalds-va-reverseproxy.cons.sashq-r.openstack.sas.com;
if ($remote_user = '*@saspw'){
return 401;
}
location /SASVisualAnalyticsTransport {
proxy_pass https://mtbis.mcdonalds.com.au:8343/SASVisualAnalyticsTransport/;
}
}
在$ REMOTE_USER 如果,我想這與它的用戶名的所有用戶在結尾得到@saspw一個401錯誤,(我將在稍後更改爲404)。
它只有當我把整個用戶名,如joe @ saspw。使用通配符(* ,?)不起作用。
有沒有辦法讓$ remote_user這樣解決通配符?
謝謝 喬
Stack Overflow是編程和開發問題的網站。這個問題似乎與題目無關,因爲它不涉及編程或開發。請參閱幫助中心的[我可以詢問哪些主題](http://stackoverflow.com/help/on-topic)。也許[超級用戶](http://superuser.com/)或[Unix&Linux堆棧交換](http://unix.stackexchange.com/)會是一個更好的地方。另請參閱[我在哪裏發佈有關Dev Ops的問題?](http://meta.stackexchange.com/q/134306) – jww