2017-02-01 24 views
1

我成功使用certbot-nginx插件。Letsencrypt certbot-nginx插件。它是如何工作的?

我知道it是開放源代碼並託管在github上。

但我沒有足夠的技巧來分析這段代碼。

例如:

我有一個由nginx的代理幾個內部網站。所有虛擬主機CONFIGS已經通過匿名下列訪問限制:

allow 192.168.1.0/24; 
allow 192.168.0.0/24; 
allow 10.88.0.0/16; 
allow 127.0.0.1; 
# gate1.example.com 
allow X.X.X.X; 
# gate2.example.com 
allow X.X.X.X; 
# other gate's 
# ....... 
deny all; 

這准入限制,禁止letsencrypt服務器,以及所有其他未定義的主機。

certbot renew --nginx正常執行證書更新。

它是如何工作的?

如果它是安全的?

回答

0

我問自己,所以我做了一些挖四周,這裏同樣的問題,是我發現了什麼:

Certbot主要採用80個或443端口的挑戰(http-01tls-sni-01)驗證域名所有權,因爲它是在certbot docs描述:

引擎蓋下,插件使用幾個ACME協議挑戰之一 證明自己控制的領域。選項是http-01(使用端口 80),tls-sni-01(端口443)和dns-01(需要在端口53上配置DNS服務器的 ,儘管這通常與您的網絡服務器不同)。一些插件支持多種挑戰類型, ,在這種情況下,您可以選擇一種--preferred-challenges。

看着http-01挑戰,我們可以看到該插件的certbot_nginxplugin implementation編輯nginx的配置,包括用於執行挑戰其他服務器塊:

def _make_server_block(self, achall): 
    """Creates a server block for a challenge. 
    :param achall: Annotated HTTP-01 challenge 
    :type achall: 
     :class:`certbot.achallenges.KeyAuthorizationAnnotatedChallenge` 
    :param list addrs: addresses of challenged domain 
     :class:`list` of type :class:`~nginx.obj.Addr` 
    :returns: server block for the challenge host 
    :rtype: list 
    """ 
相關問題