86 lines
1.8 KiB
Nginx Configuration File
86 lines
1.8 KiB
Nginx Configuration File
|
user nginx nginx;
|
||
|
worker_processes 1;
|
||
|
|
||
|
error_log /var/log/nginx/error_log info;
|
||
|
|
||
|
events {
|
||
|
worker_connections 1024;
|
||
|
use epoll;
|
||
|
}
|
||
|
|
||
|
http {
|
||
|
include /etc/nginx/mime.types;
|
||
|
default_type application/octet-stream;
|
||
|
|
||
|
log_format main
|
||
|
'$remote_addr - $remote_user [$time_local] '
|
||
|
'"$request" $status $bytes_sent '
|
||
|
'"$http_referer" "$http_user_agent" '
|
||
|
'"$gzip_ratio"';
|
||
|
|
||
|
client_header_timeout 10m;
|
||
|
client_body_timeout 10m;
|
||
|
send_timeout 10m;
|
||
|
|
||
|
connection_pool_size 256;
|
||
|
client_header_buffer_size 1k;
|
||
|
large_client_header_buffers 4 2k;
|
||
|
request_pool_size 4k;
|
||
|
|
||
|
gzip off;
|
||
|
|
||
|
output_buffers 1 32k;
|
||
|
postpone_output 1460;
|
||
|
|
||
|
sendfile on;
|
||
|
tcp_nopush on;
|
||
|
tcp_nodelay on;
|
||
|
|
||
|
keepalive_timeout 75 20;
|
||
|
|
||
|
ignore_invalid_headers on;
|
||
|
|
||
|
index index.html;
|
||
|
|
||
|
include /etc/nginx/conf.d/*.conf;
|
||
|
}
|
||
|
|
||
|
# "Auseinanderbasteln" von HTTPS und XMPP auf Port 443
|
||
|
# Der Stream-Server hört an allen Interfaces/IPs auf Port 443
|
||
|
# und leitet per Proxy an $upstream weiter
|
||
|
# Upstream wird beim ALPN "xmpp-client" auf xmppserver gemappt,
|
||
|
# bei den verschiedenen HTTP-ALPNs auf httpserver,
|
||
|
# bei allen anderen ALPNs auf httpserver.
|
||
|
# httpserver sind die oben definierten server,
|
||
|
# die deswegen nur auf localhost mit Port 8443 hören.
|
||
|
# xmppserver ist der TLS-Port für Clients von ejabberd
|
||
|
stream {
|
||
|
upstream httpserver {
|
||
|
server localhost:8443; # webserver_host:webserver_port
|
||
|
}
|
||
|
|
||
|
upstream xmppserver {
|
||
|
server localhost:5223; # xmpp_server_host:xmpp_over_tls_port
|
||
|
}
|
||
|
|
||
|
upstream turnserver {
|
||
|
server localhost:5349; # turnserver_host:turn_over_tls_port
|
||
|
}
|
||
|
|
||
|
map $ssl_preread_alpn_protocols $upstream {
|
||
|
~\bh2\b httpserver;
|
||
|
~\bhttp/1.1\b httpserver;
|
||
|
~\bh2,http/1.1\b httpserver;
|
||
|
~\bxmpp-client\b xmppserver;
|
||
|
default turnserver;
|
||
|
}
|
||
|
|
||
|
server {
|
||
|
listen 443;
|
||
|
listen [::]:443;
|
||
|
|
||
|
ssl_preread on;
|
||
|
proxy_pass $upstream;
|
||
|
}
|
||
|
}
|