SSL 연결을 설정할 수 없습니다.

SSL 연결을 설정할 수 없습니다.

내 사이트에 접속하는 사용자가 보안되지 않은 HTTP로 인해 숙박이 거부되는 일이 없도록 SSL 연결을 설정하려고 합니다. 기본적으로 HTTP에서 HTTPS로 마이그레이션하려고 합니다.

저는 많은 매뉴얼과 튜토리얼을 연구했고, 제가 한 일의 핵심은 다음과 같습니다.

먼저 다음을 통해 Letcrypt를 다운로드했습니다.

mkdir ~/letsencrypt

cd ~/letsencrypt

git clone https://github.com/letsencrypt/letsencrypt

cd letsencrypt

./letsencrypt-auto --help

그런 다음 nginx 구성으로 이동하여 수정했습니다.

/etc/nginx/sites-available/myptoject
server {
    listen 83;
    server_name domainname.tk;
    location / {
        include uwsgi_params;
        uwsgi_pass unix:/var/www/flaskapp/myproject.sock;
    }
}

~/letsencrypt/letsencrypt에서 다음을 실행합니다.

./letsencrypt-auto --apache -d domainname.tk

모든 것이 순조롭게 진행된 후 선호하는 프로토콜(HTTP 및 HTTPS, 내 이메일)을 입력했지만 결국 다음 메시지가 표시되었습니다.

Plugins selected: Authenticator nginx, Installer nginx
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for domainname.tk
Using default address 80 for authentication.
Waiting for verification...
Cleaning up challenges
Failed authorization procedure. domainname.tk (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authoriza                                            tion :: Invalid response from http://domainname.tk/.well-known/acme-challenge/qD7pzA8UtegkcXIhoOQUvCM92eG5hrahtYOLAYJAujw: "<                                            !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">

<html>
  <head>
    <titl"

IMPORTANT NOTES:
 - The following errors were reported by the server:

   Domain: domainname.tk
   Type:   unauthorized
   Detail: Invalid response from
   http://domainname.tk/.well-known/acme-challenge/qD7pzA8UtegkcXIhoOQUvCM92eG5hrahtYOLAYJAujw:
   "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
   "http://www.w3.org/TR/html4/frameset.dtd">

   <html>
     <head>
       <titl"

   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.

이 오류는 이름 사이에 충돌이 있을 때 발생하지만(지금 검색할 수 있는 한) 여기서는 이름 지정에 문제가 없는 것을 볼 수 있습니다. 두 경우 모두 domainname.tk.

저는 플라스크, Python, nginx, uwsgi를 사용하고 있으며 작업 디렉터리(/var/www/flaskapp/)는 다음과 같습니다.

drwxrwxrwx 7 john john      4096 фев 10 19:57 .
drwxr-xr-x 4 john john      4096 фев  6 21:55 ..
-rwxrwxr-x 1 john john     61939 янв 26 04:50 certbot-auto
drwxrwxr-x 8 john john      4096 фев 10 11:55 .git
-rw-rw-r-- 1 john john       150 фев  9 19:18 home.html
-rw-r--r-- 1 root root       186 фев  8 21:46 myproject.ini
-rw-rw-r-- 1 john john       772 фев 10 17:55 myproject.py
-rw-r--r-- 1 root root     12288 фев 10 16:27 .myproject.py.swo
srw-rw---- 1 john www-data     0 фев 10 18:35 myproject.sock
drwxr-xr-x 2 john www-data  4096 фев 10 17:55 __pycache__
-rw-rw-r-- 1 john john       104 фев  9 18:18 requirements.txt
drwxrwxr-x 2 john john      4096 фев  9 19:18 templates
drwxrwxrwx 5 john john      4096 фев  8 21:44 venv
drwxrwxr-x 3 john john      4096 фев 10 19:58 .well-known
-rw-r--r-- 1 root root        68 фев  8 21:45 wsgi.py

.well-known/acme-challenge 디렉터리를 수동으로 만들었습니다.

그래서 여기서 무엇이 잘못되었는지 모르겠습니다. 정상적으로 작동하는 것 같지만 SSL 키를 설정하려고 하면 오류가 발생합니다. 누구든지 도와줄 수 있나요?

운영 체제는 Ubuntu 16.04 LTS입니다.

어떤 도움이라도 대단히 감사하겠습니다!

편집하다

덧붙이자면 내가 가면 어떻게 되는지http://domainname.tk/.well-known/acme-challenge/qD7pzA8UtegkcXIhoOQUvCM92eG5hrahtYOLAYJAujw

내 홈페이지만 보이고 다른 것은 아무것도 보이지 않습니다. HTML 코드:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">

<html>
  <head>
    <title>domainname.tk</title>
    <meta name="description" content="domainname.tk">
    <meta name="keywords" content="domainname.tk">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <script type="text/javascript">
        var _gaq = _gaq || [];
        _gaq.push(['_setAccount', 'UA-23441223-3']);
        _gaq.push(['_setDomainName', 'none']);
        _gaq.push(['_setAllowLinker', true]);
        _gaq.push(['_trackPageview']);
        (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
        })();
    </script>
  </head>
  <frameset rows="*">
    <frame frameborder=0 src="http://myipaddress:83/" name="dot_tk_frame_content" scrolling="auto" noresize>
  </frameset>
</html>

관련 정보