Certbot: рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде --nginx - рдпреВрдирд┐рдХреЛрдбрдбреНрд░реЗрд╕рд░реНрд░рд░: 'рдПрд╕рд╕реАрдЖрдИ'

рдХреЛ рдирд┐рд░реНрдорд┐рдд 12 рдирд╡ре░ 2017  ┬╖  14рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: certbot/certbot

рдореЗрд░рд╛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╣реИ (рд╕рдВрд╕реНрдХрд░рдг рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ):

ArchLinux (рдХрд░реНрдиреЗрд▓ 4.13.11-1)

рдореИрдВрдиреЗ (рд╕рд░реНрдмреЛрдЯ-рдСрдЯреЛ, рдУрдПрд╕ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░, рдкрд╛рдЗрдк, рдЖрджрд┐ рдХреЗ рд╕рд╛рде)

pacman -S cerbot-nginx

рдореИрдВрдиреЗ рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рдЪрд▓рд╛рдпрд╛ рдФрд░ рдЗрд╕ рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд┐рдпрд╛:

cerbot - рдирдЧреНрдиреЗрдХреНрд╕

рд╕рд░реНрдмреЛрдЯ рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рднрд┐рдиреНрди рдерд╛:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
An unexpected error occurred:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 330: ordinal not in range(128)
Please see the logfiles in /var/log/letsencrypt for more details.

рдпрд╣рд╛рдВ рдПрдХ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рд▓реЙрдЧ рдЗрд╢реНрдпреВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдпрджрд┐ рдЙрдкрд▓рдмреНрдз рд╣реЛ):

2017-11-12 15:15:18,497:DEBUG:certbot.main:certbot version: 0.19.0
2017-11-12 15:15:18,499:DEBUG:certbot.main:Arguments: ['--nginx']
2017-11-12 15:15:18,500:DEBUG:certbot.main:Discovered plugins: PluginsRegistry(PluginEntryPoint#manual,PluginEntryPoint#nginx,PluginEntryPoint#null,PluginEntryPoint#standalone,PluginEntryPoint#webroot)
2017-11-12 15:15:18,529:DEBUG:certbot.log:Root logging level set at 20
2017-11-12 15:15:18,531:INFO:certbot.log:Saving debug log to /var/log/letsencrypt/letsencrypt.log
2017-11-12 15:15:18,532:DEBUG:certbot.plugins.selection:Requested authenticator nginx and installer nginx
2017-11-12 15:15:18,557:DEBUG:certbot.log:Exiting abnormally:
Traceback (most recent call last):
  File "/usr/bin/certbot", line 11, in <module>
    load_entry_point('certbot==0.19.0', 'console_scripts', 'certbot')()
  File "/usr/lib/python3.6/site-packages/certbot/main.py", line 861, in main
    return config.func(config, plugins)
  File "/usr/lib/python3.6/site-packages/certbot/main.py", line 685, in run
    installer, authenticator = plug_sel.choose_configurator_plugins(config, plugins, "run")
  File "/usr/lib/python3.6/site-packages/certbot/plugins/selection.py", line 189, in choose_configurator_plugins
    authenticator = installer = pick_configurator(config, req_inst, plugins)
  File "/usr/lib/python3.6/site-packages/certbot/plugins/selection.py", line 25, in pick_configurator
    (interfaces.IAuthenticator, interfaces.IInstaller))
  File "/usr/lib/python3.6/site-packages/certbot/plugins/selection.py", line 77, in pick_plugin
    verified.prepare()
  File "/usr/lib/python3.6/site-packages/certbot/plugins/disco.py", line 248, in prepare
    return [plugin_ep.prepare() for plugin_ep in six.itervalues(self._plugins)]
  File "/usr/lib/python3.6/site-packages/certbot/plugins/disco.py", line 248, in <listcomp>
    return [plugin_ep.prepare() for plugin_ep in six.itervalues(self._plugins)]
  File "/usr/lib/python3.6/site-packages/certbot/plugins/disco.py", line 130, in prepare
    self._initialized.prepare()
  File "/usr/lib/python3.6/site-packages/certbot_nginx/configurator.py", line 156, in prepare
    self.parser = parser.NginxParser(self.conf('server-root'))
  File "/usr/lib/python3.6/site-packages/certbot_nginx/parser.py", line 35, in __init__
    self.load()
  File "/usr/lib/python3.6/site-packages/certbot_nginx/parser.py", line 42, in load
    self._parse_recursively(self.config_root)
  File "/usr/lib/python3.6/site-packages/certbot_nginx/parser.py", line 53, in _parse_recursively
    trees = self._parse_files(filepath)
  File "/usr/lib/python3.6/site-packages/certbot_nginx/parser.py", line 203, in _parse_files
    parsed = nginxparser.load(_file)
  File "/usr/lib/python3.6/site-packages/certbot_nginx/nginxparser.py", line 122, in load
    return loads(_file.read())
  File "/usr/lib/python3.6/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 330: ordinal not in range(128)
2017-11-12 15:15:18,560:ERROR:certbot.log:An unexpected error occurred:

рдореИрдВ рдЬрд┐рд╕ рдбреЛрдореЗрди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЙрд╕рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирдЧрдиреЗрдХреНрд╕ рд╕рд░реНрд╡рд░ рдмреНрд▓реЙрдХ рдпрд╛ рдЕрдкрд╛рдЪреЗ рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬрд╝ рд╣реИ:

user http;
worker_processes auto;
worker_cpu_affinity auto;
pcre_jit on;

events {
    worker_connections 2048;
}


http {
    include mime.types;
    default_type application/octet-stream;
    sendfile on;
    tcp_nopush on;
    aio threads;
    server_tokens off; # Security: Disables nginx version in error messages and in the тАЬServerтАЭ response header field.
    charset utf-8; # Force usage of UTF-8
    index index.php index.html index.htm;
    server {
      listen 80;
      listen [::]:80;
      server_name domain.tld;
      root /usr/share/nginx/html;
      location / {
        index index.htm index.html;
      }

      # ACME challenge
      location ^~ /.well-known/acme-challenge/ {
        default_type "text/plain";
        root /var/lib/letsencrypt;
      }
    }
}
encodintype error nginx bug

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ @egberts рджреНрд╡рд╛рд░рд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдереНрд░реЗрдб рдкрд░ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдирд┐рдореНрди рдХрдорд╛рдВрдб рдЪрд▓рд╛рдИ:

grep -r -P '[^\x00-\x7f]' /etc/apache2 /etc/letsencrypt /etc/nginx

рдЙрд╕ рдХрдорд╛рдВрдб рдХреЛ рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдПрдХ .conf рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЕрдкрдорд╛рдирдЬрдирдХ рдЪрд░рд┐рддреНрд░ "ending" рдорд┐рд▓рд╛ред рдЗрд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрд╛рдж (рдЖрдк рдЕрдкрдиреА рдЗрдЪреНрдЫрд╛рдиреБрд╕рд╛рд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ) рдФрд░ nginx рдХреЛ рдкреБрдирдГ рд▓реЛрдб рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╕рдм рдХреБрдЫ рдлрд┐рд░ рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ред

рд╕рднреА 14 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╣рдо рдЗрд╕ рдкрд░ рдЧреМрд░ рдХрд░реЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдореЗрдВ рд╕рдВрднрд╛рд▓рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП server_tokens рдирд┐рд░реНрджреЗрд╢ рдХреА рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рджреЛрд╣рд░реЗ рдЙрджреНрдзрд░рдгреЛрдВ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ: тАЬServerтАЭ

@joohoi

2018-05-05 12: 28: 44,181: DEBUG: certbot.main : рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рд╕рдВрд╕реНрдХрд░рдг: 0.22.2
реирежрез-режрел-режрел резреи: реи:: рекрек,рез-05рез: рдбреЗрдмрдЧ : рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ.рдЗрди : рддрд░реНрдХ: ['- рдирдВрдмрд┐рди']
2018-05-05 12: 28: 44,181: DEBUG: certbot.main: рдЦреЛрдЬреЗ рдЧрдП рдкреНрд▓рдЧрдЗрдиреНрд╕: рдкреНрд▓рдЧрдЗрдиреНрд╕рд░рдЬрд┐рд╕реНрдЯреНрд░реА (рдкреНрд▓рдЧрдЗрдВрдиреЗрдЯреНрд░реАрдкреНрд╡рд╛рдЗрдВрдЯ # рдореИрдиреБрдЕрд▓, рдкреНрд▓рдЧрдЗрдВрдиреНрдЯреНрд░реАрдкреНрд╡рд╛рдЗрдВрдЯ # рдирдЧреНрдиреЗрдХреНрд╕, рдкреНрд▓рдЧрдЗрдВрдирдЯреНрд░реАрдкреЗрдВрдЯ # рдиреВрд▓, рдкреНрд▓рдЧрдЗрдВрдиреНрдЯреНрд░реАрдкреЗрдВрдЯ # рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди, рдкреНрд▓рдЧрдЗрдВрдирдЯреНрд░реАрдкреЗрдВрдЯ # рд╡реЗрдмрд░реЙрдЯ)
2018-05-05 12: 28: 44,193: DEBUG: certbot.log : рд░реВрдЯ рд▓реЙрдЧрд┐рдВрдЧ рд╕реНрддрд░ 20 рдкрд░ рд╕реЗрдЯ
2018-05-05 12: 28: 44,193: рдЬрд╛рдирдХрд╛рд░реА: certbot.log : рд╕рд╣реЗрдЬреЗ рдЬрд╛ рд░рд╣реЗ рдбреАрдмрдЧ рд▓реЙрдЧ рдХреЛ /var/log/letsencrypt/letsencrypt.log
2018-05-05 12: 28: 44,194: DEBUG: certbot.plugins.selection : рдЕрдиреБрд░реЛрдзрд┐рдд рдкреНрд░рдорд╛рдгрдХ nginx рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓рд░ nginx
2018-05-05 12: 28: 44,343: DEBUG: certbot.log : рдЕрд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдирд╛:
рдЯреНрд░реЗрд╕рдмреИрдХ (рд╕рдмрд╕реЗ рд╣рд╛рд▓рд┐рдпрд╛ рдХреЙрд▓ рдЕрдВрддрд┐рдо):
рдлрд╝рд╛рдЗрд▓ "/ usr / рдмрд┐рди / рдкреНрд░рдорд╛рдг рдкрддреНрд░", рд▓рд╛рдЗрди 11, рдореЗрдВ
load_entry_point ('certbot == 0.22.2', 'рдХрдВрд╕реЛрд▓_ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕', 'certbot') ()
рдлрд╝рд╛рдЗрд▓ "/usr/lib/python3/dist-packages/certbot/main.py", рдкрдВрдХреНрддрд┐ 1266, рдореБрдЦреНрдп рд░реВрдк рд╕реЗ
config.func (рдХреЙрдиреНтАНрдлрд╝рд┐рдЧрд░, рдкреНтАНрд▓рдЧ рдЗрди) рд▓реМрдЯрд╛рдПрдВ
рдлрд╝рд╛рдЗрд▓ "/usr/lib/python3/dist-packages/certbot/main.py", рд▓рд╛рдЗрди 1018, рд░рди рдореЗрдВ
рдЗрдВрд╕реНрдЯреЙрд▓рд░, рдкреНрд░рдорд╛рдгрдХ = plug_sel.choose_configurator_plugins (рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди, рдкреНрд▓рдЧрдЗрдиреНрд╕, "рд░рди")
рдлрд╝рд╛рдЗрд▓ "/usr/lib/python3/dist-packages/certbot/plugins/selection.py", рдкрдВрдХреНрддрд┐ 189, select_configurator_plugins рдореЗрдВ
рдкреНрд░рдорд╛рдгрдХ = рдЗрдВрд╕реНрдЯреЙрд▓рд░ = pick_configurator (config, req_inst, plugins)
рдлрд╝рд╛рдЗрд▓ "/usr/lib/python3/dist-packages/certbot/plugins/selection.py", рдкрдВрдХреНрддрд┐ 25, pick_configurator рдореЗрдВ
(interfaces.IAuthenticator, interfaces.IInstaller))
рдлрд╝рд╛рдЗрд▓ "/usr/lib/python3/dist-packages/certbot/plugins/selection.py", рдкрдВрдХреНрддрд┐ 77, pick_plugin рдореЗрдВ
verified.prepare ()
рдлрд╝рд╛рдЗрд▓ "/usr/lib/python3/dist-packages/certbot/plugins/disco.py", рдкрдВрдХреНрддрд┐ 245, рддреИрдпрд╛рд░ рдореЗрдВ
рдЫрд╣ .itervalues тАЛтАЛ(self._plugins) рдореЗрдВ plugin_ep рдХреЗ рд▓рд┐рдП [plugin_ep.prepare () рд▓реМрдЯреЗрдВ]
рдлрд╝рд╛рдЗрд▓ "/usr/lib/python3/dist-packages/certbot/plugins/disco.py", рд▓рд╛рдЗрди 245, рдореЗрдВ
рдЫрд╣ .itervalues тАЛтАЛ(self._plugins) рдореЗрдВ plugin_ep рдХреЗ рд▓рд┐рдП [plugin_ep.prepare () рд▓реМрдЯреЗрдВ]
рдлрд╝рд╛рдЗрд▓ "/usr/lib/python3/dist-packages/certbot/plugins/disco.py", рдкрдВрдХреНрддрд┐ 126, рддреИрдпрд╛рд░ рдореЗрдВ
self._initialized.prepare ()
рдлрд╝рд╛рдЗрд▓ "/usr/lib/python3/dist-packages/certbot_nginx/configurator.py", рдкрдВрдХреНрддрд┐ 137, рддреИрдпрд╛рд░ рдореЗрдВ
self.parser = parser.NginxParser (self.conf ('server-root'))
рдлрд╝рд╛рдЗрд▓ "/usr/lib/python3/dist-packages/certbot_nginx/parser.py", рдкрдВрдХреНрддрд┐ 38, __in__ рдореЗрдВ
self.load ()
рдлрд╝рд╛рдЗрд▓ "/usr/lib/python3/dist-packages/certbot_nginx/parser.py", рдкрдВрдХреНрддрд┐ 45, рд▓реЛрдб рдореЗрдВ
self._parse_recursively (self.config_root)
рдлрд╝рд╛рдЗрд▓ "/usr/lib/python3/dist-packages/certbot_nginx/parser.py", рдкрдВрдХреНрддрд┐ 66, _parse_recursively рдореЗрдВ
self._parse_recursively (subentry [1])
рдлрд╝рд╛рдЗрд▓ "/usr/lib/python3/dist-packages/certbot_nginx/parser.py", рдкрдВрдХреНрддрд┐ 56, _parse_recursively рдореЗрдВ
рдкреЗрдбрд╝ = рд╕реНрд╡._рдкрд░реНрд╕_рдлрд╛рдЗрд▓реНрд╕ (рдлрд╝рд╛рдЗрд▓рдкрде)
рдлрд╝рд╛рдЗрд▓ "/usr/lib/python3/dist-packages/certbot_nginx/parser.py", рдкрдВрдХреНрддрд┐ 206, _parse_files рдореЗрдВ
рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ = nginxparser.load (_file)
рдлрд╝рд╛рдЗрд▓ "/usr/lib/python3/dist-packages/certbot_nginx/nginxparser.py", рдкрдВрдХреНрддрд┐ 123, рд▓реЛрдб рдореЗрдВ
рд╡рд╛рдкрд╕реА рд▓реЛрдб (_file.read) ()
рдлрд╝рд╛рдЗрд▓ "/usr/lib/python3.4/encodings/ascii.py", рд▓рд╛рдЗрди 26, рдбрд┐рдХреЛрдб рдореЗрдВ
рд╡рд╛рдкрд╕реА codecs.cici_decode (рдЗрдирдкреБрдЯ, рд╕реНрд╡рдпрдВред) [0]
рдпреВрдирд┐рдХреЛрдбрдбреЙрдлреЙрд░реНрд╕реЗрдЯ: 'рдПрд╕рд╕реАрдЖрдИ' рдХреЛрдбрдХ 0xd1 рдХреЛ 31 рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдмрд╛рдЗрдЯ рдХреЛ рдбрд┐рдХреЛрдб рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ: рдХреНрд░рдорд┐рдХ рд╕реАрдорд╛ рдореЗрдВ рдирд╣реАрдВ (128)
2018-05-05 12: 28: 44,346 :

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдорд╛рдЗрдо рдкреНрд░рдХрд╛рд░ рдХреА рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдпрд╣ рд▓рд╛рдЗрдиреЗрдВ рд╣реЛрддреА рд╣реИрдВ:

application/vnd.geocube+xml                     g3 g┬│;

g рдпреВрдирд┐рдХреЛрдбрдбрдмрд▓рдкреНрд░рд╛рдЗрд╕ рдХреЛ рдмрдврд╝рд╛рдПрдЧрд╛

> /usr/lib/python3.6/site-packages/certbot_nginx/parser.py(62)_parse_recursively()
-> elif entry[0] == ['http'] or entry[0] == ['server']:
(Pdb) l
 57             for tree in trees:
 58                 for entry in tree:
 59                     if _is_include_directive(entry):
 60                         # Parse the top-level included file
 61                         self._parse_recursively(entry[1])
 62  ->                 elif entry[0] == ['http'] or entry[0] == ['server']:
 63                         # Look for includes in the top-level 'http'/'server' context
 64                         for subentry in entry[1]:
 65                             if _is_include_directive(subentry):
 66                                 self._parse_recursively(subentry[1])
 67                             elif entry[0] == ['http'] and subentry[0] == ['server']:
(Pdb) n
> /usr/lib/python3.6/site-packages/certbot_nginx/parser.py(64)_parse_recursively()
-> for subentry in entry[1]:
(Pdb) n
> /usr/lib/python3.6/site-packages/certbot_nginx/parser.py(65)_parse_recursively()
-> if _is_include_directive(subentry):
(Pdb) subentry
['include', 'mime.types']
(Pdb) n
> /usr/lib/python3.6/site-packages/certbot_nginx/parser.py(66)_parse_recursively()
-> self._parse_recursively(subentry[1])
(Pdb) s
--Call--
> /usr/lib/python3.6/site-packages/certbot_nginx/parser.py(47)_parse_recursively()
-> def _parse_recursively(self, filepath):
(Pdb) n
> /usr/lib/python3.6/site-packages/certbot_nginx/parser.py(55)_parse_recursively()
-> filepath = self.abs_path(filepath)
(Pdb) n
> /usr/lib/python3.6/site-packages/certbot_nginx/parser.py(56)_parse_recursively()
-> trees = self._parse_files(filepath)
(Pdb) s
--Call--
> /usr/lib/python3.6/site-packages/certbot_nginx/parser.py(189)_parse_files()
-> def _parse_files(self, filepath, override=False):
(Pdb) n
> /usr/lib/python3.6/site-packages/certbot_nginx/parser.py(198)_parse_files()
-> files = glob.glob(filepath) # nginx on unix calls glob(3) for this
(Pdb) n
> /usr/lib/python3.6/site-packages/certbot_nginx/parser.py(201)_parse_files()
-> trees = []
(Pdb) n
> /usr/lib/python3.6/site-packages/certbot_nginx/parser.py(202)_parse_files()
-> for item in files:
(Pdb) n
> /usr/lib/python3.6/site-packages/certbot_nginx/parser.py(203)_parse_files()
-> if item in self.parsed and not override:
(Pdb) n
> /usr/lib/python3.6/site-packages/certbot_nginx/parser.py(205)_parse_files()
-> try:
(Pdb) n
> /usr/lib/python3.6/site-packages/certbot_nginx/parser.py(206)_parse_files()
-> with open(item) as _file:
(Pdb) n
> /usr/lib/python3.6/site-packages/certbot_nginx/parser.py(207)_parse_files()
-> parsed = nginxparser.load(_file)
(Pdb) s
--Call--
> /usr/lib/python3.6/site-packages/certbot_nginx/nginxparser.py(115)load()
-> def load(_file):
(Pdb) n
> /usr/lib/python3.6/site-packages/certbot_nginx/nginxparser.py(123)load()
-> return loads(_file.read())
(Pdb) loads
<function loads at 0x7faacac85048>
(Pdb) s
--Call--
> /usr/lib/python3.6/encodings/ascii.py(25)decode()
-> def decode(self, input, final=False):
(Pdb) --KeyboardInterrupt--
(Pdb) n
> /usr/lib/python3.6/encodings/ascii.py(26)decode()
-> return codecs.ascii_decode(input, self.errors)[0]
(Pdb) n
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 10453: ordinal not in range(128)
> /usr/lib/python3.6/encodings/ascii.py(26)decode()
-> return codecs.ascii_decode(input, self.errors)[0]

рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реВрдЪрдирд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ @egberts рджреНрд╡рд╛рд░рд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдереНрд░реЗрдб рдкрд░ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдирд┐рдореНрди рдХрдорд╛рдВрдб рдЪрд▓рд╛рдИ:

grep -r -P '[^\x00-\x7f]' /etc/apache2 /etc/letsencrypt /etc/nginx

рдЙрд╕ рдХрдорд╛рдВрдб рдХреЛ рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдПрдХ .conf рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЕрдкрдорд╛рдирдЬрдирдХ рдЪрд░рд┐рддреНрд░ "ending" рдорд┐рд▓рд╛ред рдЗрд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрд╛рдж (рдЖрдк рдЕрдкрдиреА рдЗрдЪреНрдЫрд╛рдиреБрд╕рд╛рд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ) рдФрд░ nginx рдХреЛ рдкреБрдирдГ рд▓реЛрдб рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╕рдм рдХреБрдЫ рдлрд┐рд░ рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ред

@TommyZG рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕ рдлрд╛рдЗрд▓ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ?

рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдЬрдм рдореИрдВ рд╡рд┐рдВрдбреЛ рд░рд┐рдореЛрдЯ рдореЗрдВ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ-рдСрдЯреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рдЗрд╕реЗ рд▓рд┐рдирдХреНрд╕ рд░рд┐рдореЛрдЯ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрддрд╛ рд╣реИ

рдореБрдЭреЗ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рдереАред рдореБрдЭреЗ рдирд┐рдореНрдирд╛рдВрдХрд┐рдд рд╡рд░реНрдХрдмреЛрди (рдЙрдмрдВрдЯреВ рдкрд░) рдорд┐рд▓рд╛ рд╣реИ:

  1. рдХрдВрд╕реЛрд▓ рдореЗрдВ рдЪрд▓рд╛рдПрдБ:
    bash sudo locale-gen "en_US.UTF-8" sudo dpkg-reconfigure locales
  2. рд▓рд╛рдЗрди LC_ALL="en_US.UTF-8" рдлрд╝рд╛рдЗрд▓ рдореЗрдВ /etc/default/locale ред
  3. SSH рдХреЛ рдлрд┐рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, cerbot --nginx рд╕рдлрд▓рддрд╛рдПрдВ рдЪрд▓ рд░рд╣реА рд╣реИрдВред

рдирдорд╕реНрддреЗ! рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ nginx config рдореЗрдВ рдХреБрдЫ рдЧреИрд░ ascii рдЕрдХреНрд╖рд░ рд╣реИрдВ (рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рднреА !!!) рддреЛ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рдбреБрдкреНрд▓рд┐рдХреЗрдЯ # 5337 рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╕рдорд╛рдкрди, рдЬрд┐рд╕рдореЗрдВ # 5341 рдкрд░ рдПрдХ рдкреАрдЖрд░ рд╣реИред

@TommyZG рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕ рдлрд╛рдЗрд▓ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ?

рдпрд╣ рдореЗрд░реА .conf рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдерд╛ред рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдиреНрдп рд╣реИрдВред рдпрд╣ рдЯрд┐рдкреНрдкрдгреА рд▓рд╛рдЗрди рдореЗрдВ рдерд╛ред

рдореБрдЭреЗ рдПрдХ рд╕рдорд╛рди рдореБрджреНрджрд╛ рдорд┐рд▓рд╛, рдпрд╣ /etc/nginx/conf.d/default.conf рд▓рд╛рдЗрди 13 рд╕реЗ 17 рдореЗрдВ рдерд╛:

# 1) limit_req  ^`^s to limit the rate of requests from one IP
# 2) limit_conn  ^`^s to limit the number of connections from one IP
# 3) client_body_timeout  ^`^s to close the connections with slow body
# 4) client_header_timeout  ^`^s to close the connections with slow headers
# 5) send_timeout  ^`^s If the client does not receive anything within this time, the connection is closed.

рдореИрдВрдиреЗ рдЙрди рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдФрд░ рдЗрд╕рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ред

Grep рдЯрд┐рдк рдХреЗ рд▓рд┐рдП @TommyZG рдХреЛ рдзрдиреНрдпрд╡рд╛рджред

рд╣рд╛рдп тЬМЁЯП╗,
рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдЕрдиреНрдп рдЯрд░реНрдорд┐рдирд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдореИрдХ рдЯрд░реНрдорд┐рдирд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдореИрдВ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬрд╝ рдмреИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред

рдореБрдЭреЗ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рдереАред рдореБрдЭреЗ рдирд┐рдореНрдирд╛рдВрдХрд┐рдд рд╡рд░реНрдХрдмреЛрди (рдЙрдмрдВрдЯреВ рдкрд░) рдорд┐рд▓рд╛ рд╣реИ:

  1. рдХрдВрд╕реЛрд▓ рдореЗрдВ рдЪрд▓рд╛рдПрдБ:
    shell sudo locale-gen "en_US.UTF-8" sudo dpkg-reconfigure locales
  2. рд▓рд╛рдЗрди LC_ALL="en_US.UTF-8" рдлрд╝рд╛рдЗрд▓ рдореЗрдВ /etc/default/locale ред
  3. SSH рдХреЛ рдлрд┐рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, cerbot --nginx рд╕рдлрд▓рддрд╛рдПрдВ рдЪрд▓ рд░рд╣реА рд╣реИрдВред

рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

DirkWolthuis picture DirkWolthuis  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

TheNikomo picture TheNikomo  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

bmw picture bmw  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

darkworks picture darkworks  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

GEEK-WALKER picture GEEK-WALKER  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ