mirror of
https://gitlab.dit.htwk-leipzig.de/htwk-software/htwkalender.git
synced 2025-07-16 09:38:49 +02:00
121 lines
3.9 KiB
Plaintext
121 lines
3.9 KiB
Plaintext
#Calendar implementation for the HTWK Leipzig timetable. Evaluation and display of the individual dates in iCal format.
|
|
#Copyright (C) 2024 HTWKalender support@htwkalender.de
|
|
|
|
#This program is free software: you can redistribute it and/or modify
|
|
#it under the terms of the GNU Affero General Public License as published by
|
|
#the Free Software Foundation, either version 3 of the License, or
|
|
#(at your option) any later version.
|
|
|
|
#This program is distributed in the hope that it will be useful,
|
|
#but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
#GNU Affero General Public License for more details.
|
|
|
|
#You should have received a copy of the GNU Affero General Public License
|
|
#along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
worker_processes 4;
|
|
|
|
error_log /opt/bitnami/nginx/logs/error.log;
|
|
pid /opt/bitnami/nginx/tmp/nginx.pid;
|
|
|
|
events {
|
|
worker_connections 1024;
|
|
}
|
|
|
|
http {
|
|
include mime.types;
|
|
default_type application/octet-stream;
|
|
|
|
gzip on;
|
|
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
|
|
|
|
access_log /opt/bitnami/nginx/logs/proxy_access.log;
|
|
error_log /opt/bitnami/nginx/logs/proxy_error.log;
|
|
|
|
sendfile on;
|
|
keepalive_timeout 180s;
|
|
send_timeout 180s;
|
|
|
|
client_body_temp_path /opt/bitnami/nginx/tmp/client_temp;
|
|
proxy_temp_path /opt/bitnami/nginx/tmp/proxy_temp_path;
|
|
fastcgi_temp_path /opt/bitnami/nginx/tmp/fastcgi_temp;
|
|
uwsgi_temp_path /opt/bitnami/nginx/tmp/uwsgi_temp;
|
|
scgi_temp_path /opt/bitnami/nginx/tmp/scgi_temp;
|
|
|
|
proxy_buffering on;
|
|
proxy_buffers 8 16k;
|
|
proxy_buffer_size 16k;
|
|
proxy_busy_buffers_size 64k;
|
|
proxy_temp_file_write_size 64k;
|
|
proxy_max_temp_file_size 1024m;
|
|
|
|
proxy_set_header X-Forwarded-Host $host;
|
|
proxy_set_header X-Forwarded-Server $host;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Proto $scheme;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header Host $host;
|
|
|
|
geo $admin {
|
|
default 1;
|
|
#10.0.0.0/8 0; # Private Network
|
|
#127.0.0.0/8 0; # Localhost Network
|
|
#192.168.0.0/16 0; # Localhost Network
|
|
#141.57.0.0/16 0; # HTWK Leipzig Network
|
|
#172.16.0.0/12 0; # Private Network
|
|
}
|
|
|
|
map $admin $limit_key {
|
|
0 '';
|
|
1 $binary_remote_addr;
|
|
}
|
|
|
|
map $request_method $ratelimit_key {
|
|
POST $binary_remote_addr;
|
|
default $binary_remote_addr;
|
|
}
|
|
|
|
limit_req_zone $ratelimit_key zone=createFeed:10m rate=1r/s;
|
|
#limit_req_zone $limit_key zone=createFeed:10m rate=1r/m;
|
|
# Limit the number of requests per IP
|
|
limit_req_zone $limit_key zone=feed:20m rate=20r/m;
|
|
limit_req_zone $limit_key zone=modules:10m rate=30r/m;
|
|
|
|
|
|
server {
|
|
listen 80;
|
|
listen [::]:80;
|
|
http2 on;
|
|
|
|
location /api/feed {
|
|
proxy_pass http://htwkalender-ical:8091;
|
|
client_max_body_size 20m;
|
|
proxy_connect_timeout 600s;
|
|
proxy_read_timeout 600s;
|
|
proxy_send_timeout 600s;
|
|
send_timeout 600s;
|
|
limit_req zone=createFeed nodelay;
|
|
}
|
|
|
|
location /api {
|
|
proxy_pass http://htwkalender-data-manager:8090;
|
|
client_max_body_size 20m;
|
|
proxy_connect_timeout 600s;
|
|
proxy_read_timeout 600s;
|
|
proxy_send_timeout 600s;
|
|
send_timeout 600s;
|
|
}
|
|
|
|
location /_ {
|
|
proxy_pass http://htwkalender-data-manager:8090;
|
|
# Increase upload file size
|
|
client_max_body_size 100m;
|
|
}
|
|
|
|
location / {
|
|
proxy_pass http://htwkalender-frontend:8000;
|
|
}
|
|
}
|
|
}
|