blob: 8ec93b3a31fcf9671262fd5d64c0599272a7436c [file] [log] [blame]
BjornMagnussonXAe3883d02023-04-11 14:16:52 +02001# ============LICENSE_START===============================================
2# Copyright (C) 2023 Nordix Foundation. All rights reserved.
3# ========================================================================
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15# ============LICENSE_END=================================================
16#
17
ecaiyanlinux9ab67f52020-05-14 15:11:45 +020018worker_processes auto;
19pid /run/nginx.pid;
20include /etc/nginx/modules-enabled/*.conf;
BjornMagnussonXAe3883d02023-04-11 14:16:52 +020021load_module /usr/lib/nginx/modules/ndk_http_module.so;
22load_module /usr/lib/nginx/modules/ngx_http_lua_module.so;
ecaiyanlinux9ab67f52020-05-14 15:11:45 +020023
RehanRazad7287812020-05-29 17:46:40 +020024env ALLOW_HTTP;
25
ecaiyanlinux9ab67f52020-05-14 15:11:45 +020026events {
27 worker_connections 768;
ecaiyanlinux9ab67f52020-05-14 15:11:45 +020028}
29
30http {
31
32 ##
33 # Basic Settings
34 ##
35
36 sendfile on;
37 tcp_nopush on;
38 tcp_nodelay on;
39 keepalive_timeout 65;
40 types_hash_max_size 2048;
ecaiyanlinux9ab67f52020-05-14 15:11:45 +020041
42 include /etc/nginx/mime.types;
43 default_type application/octet-stream;
44
BjornMagnussonXAe3883d02023-04-11 14:16:52 +020045
RehanRazad7287812020-05-29 17:46:40 +020046
ecaiyanlinux9ab67f52020-05-14 15:11:45 +020047 server { # simple reverse-proxy
BjornMagnussonXAe3883d02023-04-11 14:16:52 +020048 set_by_lua $allow_http 'return os.getenv("ALLOW_HTTP")';
49 listen 8085;
ecaiyanlinux9ab67f52020-05-14 15:11:45 +020050 listen [::]:8085;
RehanRazad7287812020-05-29 17:46:40 +020051 server_name localhost;
BjornMagnussonXAe3883d02023-04-11 14:16:52 +020052 if ($allow_http != true) {
53 return 444;
54 }
RehanRazad7287812020-05-29 17:46:40 +020055
56 # serve dynamic requests
57 location / {
58 proxy_set_header Host $host;
59 proxy_set_header X-Real-IP $remote_addr;
60 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
61 proxy_pass http://localhost:2222;
62 }
63 }
64
65 server { # simple reverse-proxy
ecaiyanlinux9ab67f52020-05-14 15:11:45 +020066 listen 8185 ssl;
67 listen [::]:8185 ssl;
68 server_name localhost;
69 ssl_certificate /usr/src/app/cert/cert.crt;
70 ssl_certificate_key /usr/src/app/cert/key.crt;
71 ssl_password_file /usr/src/app/cert/pass;
72
73 # serve dynamic requests
74 location / {
ecaiyanlinuxdceaf392020-05-18 14:40:53 +020075 proxy_set_header Host $host;
76 proxy_set_header X-Real-IP $remote_addr;
77 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
78 proxy_pass http://localhost:2222;
ecaiyanlinux9ab67f52020-05-14 15:11:45 +020079 }
80 }
81 ##
82 # SSL Settings
83 ##
84
85 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
86 ssl_prefer_server_ciphers on;
87
88 ##
89 # Logging Settings
90 ##
91
92 access_log /var/log/nginx/access.log;
93 error_log /var/log/nginx/error.log;
94
95 ##
96 # Gzip Settings
97 ##
98
99 gzip on;
100
BjornMagnussonXAe3883d02023-04-11 14:16:52 +0200101}