diff --git a/board/common/netbrowse.conf b/board/common/netbrowse.conf deleted file mode 100644 index b7528575..00000000 --- a/board/common/netbrowse.conf +++ /dev/null @@ -1,9 +0,0 @@ -proxy_pass http://127.0.0.1:8000; -proxy_http_version 1.1; -proxy_set_header Upgrade $http_upgrade; -proxy_set_header Connection 'upgrade'; -proxy_set_header Host $host; -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_redirect off; diff --git a/board/common/nginx.conf b/board/common/nginx.conf deleted file mode 100644 index 5227e600..00000000 --- a/board/common/nginx.conf +++ /dev/null @@ -1,81 +0,0 @@ -user www-data www-data; -worker_processes 1; - -events { - worker_connections 1024; -} - -http { - include mime.types; - default_type application/octet-stream; - - sendfile on; - #tcp_nopush on; - - #keepalive_timeout 0; - keepalive_timeout 65; - - #gzip on; - - server { - listen 80; - listen [::]:80; - server_name _; - return 301 https://$host$request_uri; - } - - server { - listen 443 ssl; - listen [::]:443 ssl; - server_name _; - include ssl.conf; - - #error_page 404 /404.html; - - # redirect server error pages to the static page /50x.html - # - error_page 500 502 503 504 /50x.html; - location = /50x.html { - root html; - } - - location / { - root html; - index index.html index.htm; - } - } - - server { - listen 7681 ssl; - listen [::]:7681 ssl; - server_name _; - - include ssl.conf; - - location / { - proxy_http_version 1.1; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - proxy_pass http://127.0.0.1:7681; - proxy_redirect off; - } - } - - server { - listen 443 ssl; - listen [::]:443 ssl; - server_name network.local; - include ssl.conf; - - location / { - include netbrowse.conf; - } - } - - access_log syslog:server=unix:/dev/log,nohostname,facility=local7,severity=info; - error_log syslog:server=unix:/dev/log,nohostname,facility=local7 info; -} diff --git a/board/common/post-build.sh b/board/common/post-build.sh index 70941714..21e93863 100755 --- a/board/common/post-build.sh +++ b/board/common/post-build.sh @@ -85,9 +85,3 @@ grep -qsE '^/bin/false$$' "$TARGET_DIR/etc/shells" \ # Allow clish (symlink to /usr/bin/klish) to be a login shell grep -qsE '^/bin/clish$$' "$TARGET_DIR/etc/shells" \ || echo "/bin/clish" >> "$TARGET_DIR/etc/shells" - -if [ -n "$BR2_PACKAGE_NGINX" ]; then - cp "$common/netbrowse.conf" "$TARGET_DIR/etc/nginx/" - cp "$common/nginx.conf" "$TARGET_DIR/etc/nginx/" - cp "$common/ssl.conf" "$TARGET_DIR/etc/nginx/" -fi diff --git a/board/common/rootfs/etc/nginx/available/default.conf b/board/common/rootfs/etc/nginx/available/default.conf new file mode 100644 index 00000000..ae759950 --- /dev/null +++ b/board/common/rootfs/etc/nginx/available/default.conf @@ -0,0 +1,27 @@ +server { + listen 80; + listen [::]:80; + server_name _; + return 301 https://$host$request_uri; +} + +server { + listen 443 ssl; + listen [::]:443 ssl; + server_name _; + include ssl.conf; + + #error_page 404 /404.html; + + # redirect server error pages to the static page /50x.html + # + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root html; + } + + location / { + root html; + index index.html index.htm; + } +} diff --git a/board/common/rootfs/etc/nginx/available/netbrowse.conf b/board/common/rootfs/etc/nginx/available/netbrowse.conf new file mode 100644 index 00000000..3c729d8e --- /dev/null +++ b/board/common/rootfs/etc/nginx/available/netbrowse.conf @@ -0,0 +1,18 @@ +server { + listen 443 ssl; + listen [::]:443 ssl; + server_name network.local; + include ssl.conf; + + location / { + proxy_pass http://127.0.0.1:8000; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection 'upgrade'; + proxy_set_header Host $host; + 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_redirect off; + } +} diff --git a/board/common/rootfs/etc/nginx/available/ttyd.conf b/board/common/rootfs/etc/nginx/available/ttyd.conf new file mode 100644 index 00000000..6c1e086e --- /dev/null +++ b/board/common/rootfs/etc/nginx/available/ttyd.conf @@ -0,0 +1,19 @@ +server { + listen 7681 ssl; + listen [::]:7681 ssl; + server_name _; + + include ssl.conf; + + location / { + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_pass http://127.0.0.1:7681; + proxy_redirect off; + } +} diff --git a/board/common/rootfs/etc/nginx/nginx.conf b/board/common/rootfs/etc/nginx/nginx.conf new file mode 100644 index 00000000..baf6b6b0 --- /dev/null +++ b/board/common/rootfs/etc/nginx/nginx.conf @@ -0,0 +1,24 @@ +user www-data www-data; +worker_processes 1; + +events { + worker_connections 1024; +} + +http { + include mime.types; + default_type application/octet-stream; + + sendfile on; + #tcp_nopush on; + + #keepalive_timeout 0; + keepalive_timeout 65; + + #gzip on; + + include /etc/nginx/enabled/*.conf; + + access_log syslog:server=unix:/dev/log,nohostname,facility=local7,severity=info; + error_log syslog:server=unix:/dev/log,nohostname,facility=local7 info; +} diff --git a/board/common/ssl.conf b/board/common/rootfs/etc/nginx/ssl.conf similarity index 100% rename from board/common/ssl.conf rename to board/common/rootfs/etc/nginx/ssl.conf diff --git a/src/confd/src/infix-services.c b/src/confd/src/infix-services.c index 189193fa..dc2ab8b1 100644 --- a/src/confd/src/infix-services.c +++ b/src/confd/src/infix-services.c @@ -65,6 +65,15 @@ static int svc_change(sr_session_ctx_t *session, sr_event_t event, const char *x while ((svc = va_arg(ap, const char *))) { if (systemf("initctl -nbq %s %s", ena ? "enable" : "disable", svc)) ERROR("Failed %s %s", ena ? "enabling" : "disabling", name); + + if (!strcmp(name, "web")) { + if (ena && strcmp(svc, "nginx")) + systemf("ln -sf ../available/%s.conf /etc/nginx/enabled/%s.conf", svc, svc); + else + systemf("rm -f /etc/nginx/enabled/%s.conf", svc); + + systemf("initctl -nbq touch nginx"); + } } va_end(ap);