Как правильно настроить прокси-сервер nginx для Beego? - PullRequest
0 голосов
/ 30 апреля 2019

На ПК с 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

...