From c7ba12573a53d21867d01a6d8c6f3733af22aebe Mon Sep 17 00:00:00 2001 From: Krakinou Date: Tue, 13 Dec 2022 23:19:57 +0100 Subject: [PATCH] use include instead of full file --- conf/api_nginx.conf | 43 ++++++------------------------------------- conf/nginx.conf | 36 +++++++++++++++++++++++++++++++++++- 2 files changed, 41 insertions(+), 38 deletions(-) diff --git a/conf/api_nginx.conf b/conf/api_nginx.conf index 9c9e2a5..9ba552d 100644 --- a/conf/api_nginx.conf +++ b/conf/api_nginx.conf @@ -1,37 +1,6 @@ -#This part should be split in a second file to not be overwritten -#sub_path_only rewrite ^api___PATH__$ api___PATH__/ permanent; -location __API_PATH__/ { - #Alternative path for api, only authorized json command will be accepted - - #allow only local network on IPv4 - allow 192.168.0.0/16; - #allow all address in IPv6 => how to filter? - allow ::/1; - deny all; - - proxy_http_version 1.1; - proxy_read_timeout 90; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded_Proto $scheme; - proxy_set_header X-Scheme $scheme; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection $connection_upgrade; - more_set_headers "X-Frame-Options: SAMEORIGIN"; - proxy_pass http://localhost:__PORT__/; - proxy_set_header Host $host; - - set $api "0"; - - #set the list of authorized json command here in regex format - #you may retrieve the command from https://www.domoticz.com/wiki/Domoticz_API/JSON_URL's - #By default, sensors updates and toggle switch are authorized - if ( $args ~* type=command¶m=udevice&idx=[0-9]*&nvalue=[0-9]*&svalue=.*$|type=command¶m=switchlight&idx=[0-9]*&switchcmd=Toggle$) { - set $api "1"; - } - - if ($api = 0) { - return 403; - } - -} +#set the list of authorized json command here in regex format +#you may retrieve the command from https://www.domoticz.com/wiki/Domoticz_API/JSON_URL's +#By default, sensors updates and toggle switch are authorized +if ( $args ~* type=command¶m=udevice&idx=[0-9]*&nvalue=[0-9]*&svalue=.*$|type=command¶m=switchlight&idx=[0-9]*&switchcmd=Toggle$) { + set $api "1"; +} \ No newline at end of file diff --git a/conf/nginx.conf b/conf/nginx.conf index 6a1d7db..3fe815b 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -18,4 +18,38 @@ location __PATH__/ { # Include SSOWAT user panel. include conf.d/yunohost_panel.conf.inc; -} \ No newline at end of file +} + + +#sub_path_only rewrite ^api___PATH__$ api___PATH__/ permanent; +location __API_PATH__/ { + #Alternative path for api, only authorized json command will be accepted + + #allow only local network on IPv4 + allow 192.168.0.0/16; + #allow all address in IPv6 => how to filter? + allow ::/1; + deny all; + + proxy_http_version 1.1; + proxy_read_timeout 90; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded_Proto $scheme; + proxy_set_header X-Scheme $scheme; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $connection_upgrade; + more_set_headers "X-Frame-Options: SAMEORIGIN"; + proxy_pass http://localhost:__PORT__/; + proxy_set_header Host $host; + + set $api "0"; + + include /etc/nginx/conf.d/__DOMAIN__.d/api___APP__.conf; + + if ($api = 0) { + return 403; + } + +} + \ No newline at end of file