app.run(host='0.0.0.0', port=8095, debug=False)
services:
app:
command: python wsgi_docker.py
nginx:
volumes:
- ./file_setting/fullchain.pem:/etc/nginx/fullchain.pem
- ./file_setting/privkey.pem:/etc/nginx/privkey.pem
build: ./nginx
container_name: t_nginx
restart: always
ports:
- 80:95
- 443:96
depends_on:
- app
server {
listen 95;
server_name my_domain.ru www.my_domain.ru;
return 301 https://$host$request_uri;
}
server {
listen 96 ssl;
server_name my_domain.ru www.my_domain.ru;
ssl_certificate fullchain.pem;
ssl_certificate_key privkey.pem;
location / {
proxy_pass "http://app:8095/";
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}
}services:
app1:
command: python wsgi_docker.py
app2:
command: python wsgi_docker.py
app3:
command: python wsgi_docker.py
nginx:
ports:
- 80:95
- 443:96
server {
listen 96 ssl;
server_name my_domain.ru www.my_domain.ru;
ssl_certificate fullchain.pem;
ssl_certificate_key privkey.pem;
location /app1 {
proxy_pass "http://app1:8095/";
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}
location /app2 {
proxy_pass "http://app2:8095/";
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}
location /app3 {
proxy_pass "http://app3:8095/";
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}
}/ip firewall filter
add action=accept chain=forward comment="allow connection to 198.138.1.10" src-address=198.138.1.5 dst-address=198.138.1.10 protocol=tcp dst-port=80
add action=accept chain=forward comment="allow connection to 198.138.1.10" src-address=198.138.1.5 dst-address=198.138.1.10 protocol=tcp dst-port=443
add action=drop chain=forward comment="drop all other connection" src-address=198.138.1.5 ➜ ~ ipcalc 192.168.0.0/23
Address: 192.168.0.0 11000000.10101000.0000000 0.00000000
Netmask: 255.255.254.0 = 23 11111111.11111111.1111111 0.00000000
Wildcard: 0.0.1.255 00000000.00000000.0000000 1.11111111
=>
Network: 192.168.0.0/23 11000000.10101000.0000000 0.00000000
HostMin: 192.168.0.1 11000000.10101000.0000000 0.00000001
HostMax: 192.168.1.254 11000000.10101000.0000000 1.11111110
Broadcast: 192.168.1.255 11000000.10101000.0000000 1.11111111
Hosts/Net: 510 Class C, Private Internet
➜ ~ ipcalc 192.168.0.0/24
Address: 192.168.0.0 11000000.10101000.00000000. 00000000
Netmask: 255.255.255.0 = 24 11111111.11111111.11111111. 00000000
Wildcard: 0.0.0.255 00000000.00000000.00000000. 11111111
=>
Network: 192.168.0.0/24 11000000.10101000.00000000. 00000000
HostMin: 192.168.0.1 11000000.10101000.00000000. 00000001
HostMax: 192.168.0.254 11000000.10101000.00000000. 11111110
Broadcast: 192.168.0.255 11000000.10101000.00000000. 11111111
Hosts/Net: 254 Class C, Private Internet
➜ ~ ipcalc 192.168.0.0/25
Address: 192.168.0.0 11000000.10101000.00000000.0 0000000
Netmask: 255.255.255.128 = 25 11111111.11111111.11111111.1 0000000
Wildcard: 0.0.0.127 00000000.00000000.00000000.0 1111111
=>
Network: 192.168.0.0/25 11000000.10101000.00000000.0 0000000
HostMin: 192.168.0.1 11000000.10101000.00000000.0 0000001
HostMax: 192.168.0.126 11000000.10101000.00000000.0 1111110
Broadcast: 192.168.0.127 11000000.10101000.00000000.0 1111111
Hosts/Net: 126 Class C, Private Internet
➜ ~ ipcalc 10.0.0.0/8
Address: 10.0.0.0 00001010. 00000000.00000000.00000000
Netmask: 255.0.0.0 = 8 11111111. 00000000.00000000.00000000
Wildcard: 0.255.255.255 00000000. 11111111.11111111.11111111
=>
Network: 10.0.0.0/8 00001010. 00000000.00000000.00000000
HostMin: 10.0.0.1 00001010. 00000000.00000000.00000001
HostMax: 10.255.255.254 00001010. 11111111.11111111.11111110
Broadcast: 10.255.255.255 00001010. 11111111.11111111.11111111
Hosts/Net: 16777214 Class A, Private Internetserver:
verbosity: 1
interface: 0.0.0.0
do-ip4: yes
access-control: 0.0.0.0/0 allow
chroot: ""
hide-version: yes
key-cache-size: 0
cache-max-ttl: 0
private-address: 10.0.0.0/8
private-address: 172.16.0.0/12
private-address: 192.168.0.0/16
private-domain: "example.com"
local-zone: "10.in-addr.arpa." nodefault
local-zone: "16.172.in-addr.arpa." nodefault
local-zone: "168.192.in-addr.arpa." nodefault
local-data: "ntp.example.com IN A 10.10.10.10"
stub-zone:
name: "habr.com"
stub-addr: 8.8.8.8
stub-addr: 8.8.4.4
stub-zone:
name: "10.in-addr.arpa"
stub-addr: 10.10.10.5
forward-zone:
name: "ocn.net.cn"
forward-host: ns02.example.com
forward-zone:
name: "."
forward-addr: 1.1.1.1
forward-addr: 8.8.8.8