-
Notifications
You must be signed in to change notification settings - Fork 2
/
ssl.sh
69 lines (60 loc) · 2.17 KB
/
ssl.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#!/bin/bash
if [[ $(id -u) -ne 0 ]] ; then echo "Please run as root" ; exit 1 ; fi
# if [ "$EUID" -ne 0 ]
# then echo "Please run as root"
# exit 1
# fi
source .env
config=$( echo << EOF "
server {
listen 80;
listen [::]:80;
server_name webmail.${MAILSERVER_DOMAIN};
#client_max_body_size 64m;
location / {
proxy_pass http://127.0.0.1:7511;
proxy_set_header Host \$host;
proxy_set_header Upgrade \$http_upgrade;
proxy_set_header X-Real-IP \$remote_addr;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Port 443;
}
}
server {
listen 80;
listen [::]:80;
server_name postfixadmin.${MAILSERVER_DOMAIN};
#client_max_body_size 64m;
location / {
proxy_pass http://127.0.0.1:7512;
proxy_set_header Host \$host;
proxy_set_header Upgrade \$http_upgrade;
proxy_set_header X-Real-IP \$remote_addr;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Port 443;
}
}
server {
listen 80;
listen [::]:80;
server_name spam.${MAILSERVER_DOMAIN};
#client_max_body_size 64m;
location / {
proxy_pass http://127.0.0.1:7513;
proxy_set_header Host \$host;
proxy_set_header Upgrade \$http_upgrade;
proxy_set_header X-Real-IP \$remote_addr;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Port 443;
}
}
"
EOF
)
echo "$config" > "/etc/nginx/sites-available/mailserver.conf" && ln -s "/etc/nginx/sites-available/mailserver.conf" "/etc/nginx/sites-enabled/mailserver.conf"
nginx -t && nginx -s reload
certbot --nginx -d "webmail.${MAILSERVER_DOMAIN}" -d "postfixadmin.${MAILSERVER_DOMAIN}" -d "spam.${MAILSERVER_DOMAIN}"
certbot certonly --nginx -d "${MAILSERVER_HOSTNAME}.${MAILSERVER_DOMAIN}"