На ПК с Ubuntu 18.04.1 Server Edition я разрабатываю веб-страницу, для которой я зарегистрировал доменное имя.
Для перехода с http на https я пытаюсь использовать сервис Let's encrypt https://letsencrypt.org/
Я временно отключил брандмауэры в настольном ноутбуке Ubuntu 18.04.02, который я использую для подключения к ПК:
riccardo @ riccardo-HP-Laptop-15-da0xxx: ~ $ sudo ufw status
[sudo] пароль для Риккардо:
Статус: неактивен
и в Ubuntu 18.04.01 серверный ПК, на котором я разрабатываю свою веб-страницу:
marco @ pc01: ~ $ sudo ufw status
[sudo] пароль для marco:
Статус: неактивен
При выполнении команды для получения сертификата:
marco@pc01:~/go/src/MyPage$ sudo certbot certonly --webroot -w /home/marco/go/src/MyPage -d ggc.world -d www.ggc.world
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer None
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for ggc.world
http-01 challenge for www.ggc.world
Using the webroot path /home/marco/go/src/MyPage for all unmatched domains.
Waiting for verification...
Cleaning up challenges
Failed authorization procedure. www.ggc.world (http-01): urn:ietf:params:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from
http://www.ggc.world/.well-known/acme-challenge/Gu8UD5QRmXl5pp2fJX1c3Qc3pAK_gP-cpuZA0tTaAi8 [109.116.160.164]: "<html>\n<head>\n <title>404 Not
Found</title>\n</head>\n<body bgcolor=\"#ffffff\">\n <h2>404 Not Found</h2>\n <p></p>\n</body>\n</html>", ggc.world (http-01): urn:ietf:params:acme:error:
unauthorized :: The client lacks sufficient authorization :: Invalid response from http://ggc.world/.well-known/acme-challenge/gGMNXHbKyuSyV_WZ-
z7NghdqamkU6YCzNVeohBOrtn0 [109.116.160.164]: "<html>\n<head>\n <title>404 Not Found</title>\n</head>\n<body bgcolor=\"#ffffff\">\n <h2>404 Not
Found</h2>\n <p></p>\n</body>\n</html>"
IMPORTANT NOTES:
- The following errors were reported by the server:
Domain: www.ggc.world
Type: unauthorized
Detail: Invalid response from
http://www.ggc.world/.well-known/acme-challenge/Gu8UD5QRmXl5pp2fJX1c3Qc3pAK_gP-cpuZA0tTaAi8
[109.116.160.164]: "<html>\n<head>\n <title>404 Not
Found</title>\n</head>\n<body bgcolor=\"#ffffff\">\n <h2>404 Not
Found</h2>\n <p></p>\n</body>\n</html>"
Domain: ggc.world
Type: unauthorized
Detail: Invalid response from
http://ggc.world/.well-known/acme-challenge/gGMNXHbKyuSyV_WZ-z7NghdqamkU6YCzNVeohBOrtn0
[109.116.160.164]: "<html>\n<head>\n <title>404 Not
Found</title>\n</head>\n<body bgcolor=\"#ffffff\">\n <h2>404 Not
Found</h2>\n <p></p>\n</body>\n</html>"
To fix these errors, please make sure that your domain name was
entered correctly and the DNS A/AAAA record(s) for that domain
contain(s) the right IP address.
Лидер сообщества на форуме Let's Encrypt утверждает, что конфигурация прокси-сервера моего nginx не работает, потому что, возможно, он глючит.
В качестве фреймворка Golang для MVC я использую Beego.
Насколько я вижу в доступной информации в Интернете и в некоторых книгах, конфигурация прокси в nginx default.conf - единственный способ использовать NGINX в качестве веб-сервера для Beego:
- https://beego.me/docs/deploy/nginx.md
- взято из Go Web Development Cookbook: https://drive.google.com/open?id=1wUA_Yjh2MrCCqS9rGnITtBzm00Zum2II
- взято из Кулинарной книги Nginx (2017):
- https://drive.google.com/open?id=1xO0fNg9JOHz4vh94EHd4FTs_hBjJAiqb
- https://drive.google.com/open?id=1bXTcSmA5ib57HppOujaTtjlTLmE85pp2
marco@pc01:~$ nginx -v
nginx version: nginx/1.15.12
Это мой /etc/nginx/conf.d/default.conf:
server {
listen 80;
server_name ggc.world www.ggc.world;
location / {
proxy_pass http://192.168.1.7:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
Итак ... мой вопрос:
Как правильно настроить прокси-сервер nginx для Beego, чтобы использовать nginx в качестве веб-сервера для Beego?
Здесь вы можете найти файл /var/log/letsencrypt.log:
letsencrypt.log
Ждем вашей помощи.
Marco