2015-01-09 70 views
3

我目前正在開發一個Plesk-Panel插件,用於自動獲取安裝SSL證書的&。 由Parallels提供的非常強大的XML API,我可以將證書安裝到Plesks SSL Cert-Pool。通過Plesk XML API激活域上的SSL證書

對於特定頁面也可能turn SSL on,但我絕對找不到激活特定證書(當然,這已被添加到證書池中)的方法。

當然,最簡單的答案將是「API不支持」, 但它很容易使用這個命令通過命令行工具來做到這一點:

/opt/psa/bin/subscription -u example.com -certificate-name my_cool_ssl_cert

和關於對the manual

命令行界面(CLI)具有相同功能的API RPC

這是比較明顯的,因爲他們在其他地方都有相同的功能。

那麼我錯過了什麼?有沒有人做過?

如果沒有通過XML-API激活特定的可能性,許多調用將是完全沒有意義的(可以安裝一個CERT,激活ssl但不激活它?真的不能相信這一點。)

我真的很感謝任何答案/評論,指出我正確的方向,在此先感謝!

回答

3

這裏請求例如:

<packet> 
    <webspace> 
     <set> 
      <filter> 
       <id>34</id> 
      </filter> 
      <values> 
       <hosting> 
        <vrt_hst> 

         <property> 

          <name>certificate_name</name> 

          <value>some_existed_certificate_name</value> 

         </property> 

        </vrt_hst> 
       </hosting> 
      </values> 
     </set> 
    </webspace> 
</packet> 

主要規則是,如果在CLI它是一個「訂閱」設置,比我們去「管理訂閱(網站空間)」 - >「設置預約參數」和我們總是必須檢查「請求數據包結構」。從數據包結構,我們想我們的SSL設置應該是在託管部分,有一個環節,所以我們要

http://download1.parallels.com/Plesk/PP12/12.0/Doc/en-US/online/plesk-api-rpc/39967.htm 

但我們看到,API的這一部分不完全記錄,還有一些「屬性」但顯然不是全部。並且有一個註釋

注意:要管理主機設置,您應該首先檢索托管 設置描述符,其中包含設置的名稱。有關 的詳細信息,請參閱Retrieving Descriptor of Hosting Settings 部分。

通過這個新鏈接,我們可以找到如何檢索我們找到「certificate_name」的所有託管屬性名稱的列表。

對於附加域或子域,你可以使用下面的查詢:

<packet> 
    <site> 
     <set> 
      <filter> 
       <id>3</id> 
      </filter> 
      <values> 
       <hosting> 
        <vrt_hst> 

         <property> 

          <name>certificate_name</name> 

          <value>some_existed_certificate_name</value> 

         </property> 

        </vrt_hst> 
       </hosting> 
      </values> 
     </set> 
    </site> 
</packet> 
+0

謝謝!我真的很慚愧,我沒有在手冊中找到它: -/ – tillz 2015-01-10 15:22:46

+0

好吧,這真的不容易,我已經更新了答案來描述我如何找到這個參數名稱。 – 2015-01-10 19:10:07