mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2025-12-12 09:10:30 +08:00
152 lines
3.2 KiB
Nginx Configuration File
152 lines
3.2 KiB
Nginx Configuration File
worker_processes 4;
|
|
|
|
# error_log /tmp/kvmd-nginx.error.log;
|
|
error_log stderr;
|
|
|
|
include /usr/share/kvmd/extras/*/nginx.ctx-main.conf;
|
|
|
|
events {
|
|
worker_connections 1024;
|
|
use epoll;
|
|
multi_accept on;
|
|
}
|
|
|
|
http {
|
|
access_log off;
|
|
|
|
include /etc/kvmd/nginx/mime-types.conf;
|
|
default_type application/octet-stream;
|
|
charset utf-8;
|
|
|
|
absolute_redirect off;
|
|
index index.html;
|
|
|
|
sendfile on;
|
|
tcp_nodelay on;
|
|
tcp_nopush on;
|
|
keepalive_timeout 10;
|
|
client_max_body_size 4k;
|
|
|
|
client_body_temp_path /tmp/kvmd-nginx.client_body_temp;
|
|
fastcgi_temp_path /tmp/kvmd-nginx.fastcgi_temp;
|
|
proxy_temp_path /tmp/kvmd-nginx.proxy_temp;
|
|
scgi_temp_path /tmp/kvmd-nginx.scgi_temp;
|
|
uwsgi_temp_path /tmp/kvmd-nginx.uwsgi_temp;
|
|
|
|
upstream kvmd {
|
|
server unix:/run/kvmd/kvmd.sock fail_timeout=0s max_fails=0;
|
|
}
|
|
|
|
upstream ustreamer {
|
|
server unix:/run/kvmd/ustreamer.sock fail_timeout=0s max_fails=0;
|
|
}
|
|
|
|
include /usr/share/kvmd/extras/*/nginx.ctx-http.conf;
|
|
|
|
#PROD server {
|
|
#PROD listen 80;
|
|
#PROD server_name localhost;
|
|
#PROD return 301 https://$host$request_uri;
|
|
#PROD }
|
|
|
|
server {
|
|
#PROD listen 443 ssl http2;
|
|
server_name localhost;
|
|
#PROD include /etc/kvmd/nginx/ssl.conf;
|
|
|
|
auth_request /auth_check;
|
|
|
|
location = /auth_check {
|
|
internal;
|
|
proxy_pass http://kvmd/auth/check;
|
|
proxy_pass_request_body off;
|
|
proxy_set_header Content-Length "";
|
|
auth_request off;
|
|
}
|
|
|
|
location / {
|
|
root /usr/share/kvmd/web;
|
|
include /etc/kvmd/nginx/loc-login.conf;
|
|
include /etc/kvmd/nginx/loc-nocache.conf;
|
|
}
|
|
|
|
location @login {
|
|
return 302 /login;
|
|
}
|
|
|
|
location /login {
|
|
root /usr/share/kvmd/web;
|
|
auth_request off;
|
|
}
|
|
|
|
location /share {
|
|
root /usr/share/kvmd/web;
|
|
auth_request off;
|
|
}
|
|
|
|
location = /favicon.ico {
|
|
alias /usr/share/kvmd/web/favicon.ico;
|
|
auth_request off;
|
|
}
|
|
|
|
location = /robots.txt {
|
|
alias /usr/share/kvmd/web/robots.txt;
|
|
auth_request off;
|
|
}
|
|
|
|
location /api/ws {
|
|
rewrite ^/api/ws$ /ws break;
|
|
rewrite ^/api/ws\?(.*)$ /ws?$1 break;
|
|
proxy_pass http://kvmd;
|
|
include /etc/kvmd/nginx/loc-proxy.conf;
|
|
include /etc/kvmd/nginx/loc-websocket.conf;
|
|
auth_request off;
|
|
}
|
|
|
|
location /api/msd/write {
|
|
rewrite ^/api/msd/write$ /msd/write break;
|
|
rewrite ^/api/msd/write\?(.*)$ /msd/write?$1 break;
|
|
proxy_pass http://kvmd;
|
|
include /etc/kvmd/nginx/loc-proxy.conf;
|
|
limit_rate 6250k;
|
|
limit_rate_after 50k;
|
|
client_max_body_size 0;
|
|
proxy_request_buffering off;
|
|
auth_request off;
|
|
}
|
|
|
|
location /api/log {
|
|
rewrite ^/api/log$ /log break;
|
|
rewrite ^/api/log\?(.*)$ /log?$1 break;
|
|
proxy_pass http://kvmd;
|
|
include /etc/kvmd/nginx/loc-proxy.conf;
|
|
proxy_read_timeout 7d;
|
|
postpone_output 0;
|
|
proxy_buffering off;
|
|
proxy_ignore_headers X-Accel-Buffering;
|
|
auth_request off;
|
|
}
|
|
|
|
location /api {
|
|
rewrite ^/api$ / break;
|
|
rewrite ^/api/(.*)$ /$1 break;
|
|
proxy_pass http://kvmd;
|
|
include /etc/kvmd/nginx/loc-proxy.conf;
|
|
auth_request off;
|
|
}
|
|
|
|
location /streamer {
|
|
rewrite ^/streamer$ / break;
|
|
rewrite ^/streamer\?(.*)$ ?$1 break;
|
|
rewrite ^/streamer/(.*)$ /$1 break;
|
|
proxy_pass http://ustreamer;
|
|
include /etc/kvmd/nginx/loc-proxy.conf;
|
|
postpone_output 0;
|
|
proxy_buffering off;
|
|
proxy_ignore_headers X-Accel-Buffering;
|
|
}
|
|
|
|
include /usr/share/kvmd/extras/*/nginx.ctx-server.conf;
|
|
}
|
|
}
|