вторник, 16 мая 2017 г.

редиректы nginx много SSL бесплатных сертификатов


Сделать отчет по redirect откуда и куда
#!/usr/bin/python
file = open("redirects","r")
pairs={}
for row in file:
    if 'server_name' in row:
        name=row.strip().split(" ")
    if 'return' in row:
        redir = row.strip().split(" ")
        pairs[name[1]]=redir[3]
file2 = open("report","w")
for key, value in pairs.items():
    file2.write( key+" => "+value+"\n")
file2.close




Генерация конфига nginx  для бесплатных SSL сертификатов let's encrypt для большого количества редиректов

#!/usr/bin/python
file = open("source","r")
pairs={}
for row in file:
    if 'server_name' in row:
        name=row.strip().split(" ")
    if 'return' in row:
        redir = row.strip().split(" ")
        pairs[name[1]]=redir[2]

for pair in pairs.keys():
#    print "certbot certonly -d "+pair+" -d "+pair[4:] (раскоментируем если нужно сгенерировать для бота)
# второй вариант вывода, если файл не нужен
    print "server {"
    print "    listen <Реальный IP>:80;"
    print "    listen <Реальный IP>:443 ssl;"
    print "    server_name",pair, pair[4:]+";"
    print "    location /.well-known {"
    print "        root /var/www/html;"
    print "    }"
    print "    location / {"
    print "    return 301 ",pairs[pair]
    print "    }"
    print "    ssl_certificate /etc/letsencrypt/live/"+pair+"/fullchain.pem;"
    print "    ssl_certificate_key /etc/letsencrypt/live/"+pair+"/privkey.pem;"
    print "    ssl_trusted_certificate /etc/letsencrypt/live/"+pair+"/chain.pem;"
    print "}"



Комментариев нет: