我想使用API启用特定的URL位置。
我的API应该是这样的:https://myurl.com/optional
并将返回true
是否可以根据URL打开和关闭特定位置?
server {
root /var/www/public;
index index.php index.html index.htm index.nginx-debian.html;
server_name demo.example.com;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
if(https://myurl.com/optional === true){
location /optional {
proxy_pass http://localhost:8989;
}
}
}
我确实尝试在每次API返回不同值时替换nginx配置。但这样做是非常脆弱的。
1条答案
按热度按时间vybvopom1#
如果要切换的位置数量有限,您可以通过定制NGINX配置并让您的API创建/删除将“启用/禁用”所需位置的标志文件来完成,而不是每次尝试替换NGINX配置的API。
请注意,它不会在性能方面表现完美,因为它是introduces a file check,但在现代SSD上,这不是很重要:
要“禁用”一个位置,您的API将创建
/optional.disabled
文件(例如:touch
命令)。要“启用”一个位置,您的API将删除标志文件。