summaryrefslogtreecommitdiff
path: root/kvmd/configs/nginx/nginx.conf.example
diff options
context:
space:
mode:
Diffstat (limited to 'kvmd/configs/nginx/nginx.conf.example')
-rw-r--r--kvmd/configs/nginx/nginx.conf.example89
1 files changed, 89 insertions, 0 deletions
diff --git a/kvmd/configs/nginx/nginx.conf.example b/kvmd/configs/nginx/nginx.conf.example
new file mode 100644
index 00000000..cd30f572
--- /dev/null
+++ b/kvmd/configs/nginx/nginx.conf.example
@@ -0,0 +1,89 @@
+user http;
+worker_processes 4;
+
+# error_log /tmp/nginx.error.log;
+error_log /dev/null crit;
+
+events {
+ worker_connections 64;
+ use epoll;
+}
+
+http {
+ access_log off;
+
+ include mime.types;
+ default_type application/octet-stream;
+ charset utf-8;
+
+ sendfile on;
+ keepalive_timeout 10;
+
+ client_body_temp_path /tmp/nginx.client_body_temp;
+ fastcgi_temp_path /tmp/nginx.fastcgi_temp;
+ proxy_temp_path /tmp/nginx.proxy_temp;
+ scgi_temp_path /tmp/nginx.scgi_temp;
+ uwsgi_temp_path /tmp/nginx.uwsgi_temp;
+
+ server {
+ listen 80;
+ server_name localhost;
+ return 301 https://$host$request_uri;
+ }
+
+ upstream kvmd {
+ server localhost:8081 fail_timeout=0s max_fails=0;
+ }
+
+ upstream mjpg_streamer {
+ server localhost:8082 fail_timeout=0s max_fails=0;
+ }
+
+ server {
+ listen 443 ssl http2;
+ server_name localhost;
+
+ ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
+ ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
+ ssl_certificate ssl/server.crt;
+ ssl_certificate_key ssl/server.key;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+
+ location / {
+ root /usr/share/kvmd/web;
+ index index.html;
+ }
+
+ location /kvmd/ws {
+ rewrite /kvmd/ws /ws break;
+ proxy_pass http://kvmd;
+ proxy_set_header Upgrade $http_upgrade;
+ proxy_set_header Connection "upgrade";
+ proxy_connect_timeout 7d;
+ proxy_send_timeout 7d;
+ proxy_read_timeout 7d;
+ }
+
+ location /kvmd/msd/write {
+ rewrite /kvmd/msd/write /msd/write break;
+ proxy_pass http://kvmd;
+ limit_rate 6250k;
+ limit_rate_after 50k;
+ client_max_body_size 0;
+ proxy_request_buffering off;
+ }
+
+ location /kvmd {
+ rewrite /kvmd/?(.*) /$1 break;
+ proxy_pass http://kvmd;
+ }
+
+ location /streamer {
+ rewrite /streamer/?(.*) /$1 break;
+ proxy_pass http://mjpg_streamer;
+ proxy_buffering off;
+ proxy_ignore_headers X-Accel-Buffering;
+ }
+ }
+}