This seems a bit outdated but should not be the reason for this http request to fail:
You will need to ensure that certbot can correctly detect the document root used for that domain.
[so it can place the challenge file in the correct folder]
http://lms-edxplatform-tm.trafficmanager.cn/.well-known/acme-challenge/{whatever file name}
should be served by: {site root}/.well-known/acme-challenge/{that same file name}
You should test this by placing a test text file in that folder and see if it can be reached from the Internet.
[you will most likely need to create the /.well-known/acme-challenge/ subfolders first]
The location use for /.well-known is good.
But using listen 80 and 443 in the same block is NOT good:
port 80 is http (not encrypted)
port 443 is https (encrypted).
The web server can't do both (encrypt and not encrypt) in the same block.
Those should be either very similar but separate blocks.
Or the http block can just redirect everything to https.
Can you check the /etc/letsencrypt/renewal/ file Certbot was using and Nginx's error.log to try to make sure it was using the right server block and right root?
As @rg305 said, it doesn't affect this, but if you installed Certbot using the PPA, it has version 0.28.0 right now. You should run sudo apt-get update and sudo apt-get upgrade.