<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      https免費(fèi)nginx證書(shū)

      快捷閱讀:

      1. 先安裝好nginx,并配置好80端口的正常訪問(wèn)
      # 安裝Nginx
      yum install -y nginx
      # 設(shè)置開(kāi)機(jī)啟動(dòng)
      systemctl enable nginx
      # 開(kāi)啟nginx
      systemctl start nginx
      # 重啟nginx
      systemctl restart nginx
      # nginx重新加載配置文件
      systemctl reload nginx
      # 新增nginx網(wǎng)站配置
      vi /etc/nginx/conf.d/xxx.com.conf
          server {
            listen		80;		
            #listen       443 ssl http2;
            server_name  xxx.com www.xxx.com;
            root         /root/www/xxx.com/dist/;
      
            #ssl_certificate "/etc/nginx/ssl/xxx.com/fullchain.cer";
            #ssl_certificate_key "/etc/nginx/ssl/xxx.com/xxx.com.key";
            ssl_session_cache shared:SSL:1m;
            ssl_session_timeout  10m;
            ssl_ciphers HIGH:!aNULL:!MD5;
            ssl_prefer_server_ciphers on;
        }
      
      
      1. 域名解析到服務(wù)器,并測(cè)試能否http 80端口訪問(wèn)

      2. 配置acme.sh腳本

        # 下載腳本并安裝
        curl  https://get.acme.sh | sh -s email=4379711@qq.com
        # 激活環(huán)境變量
        source ~/.bashrc
        # 自動(dòng)更新腳本
        acme.sh --upgrade --auto-upgrade
        # 更改為letsencrypt而不是zerossl
        acme.sh --set-default-ca --server letsencrypt
      
      1. 生成nginx證書(shū)
        acme.sh --issue -d xxx.com -d www.xxx.com --nginx
        # 復(fù)制證書(shū)到一個(gè)地方存儲(chǔ)
        mkdir -p /etc/nginx/ssl/xxx.com
        acme.sh --install-cert -d xxx.com --key-file /etc/nginx/ssl/xxx.com/xxx.com.key --fullchain-file /etc/nginx/ssl/xxx.com/fullchain.cer
      
      1. 修改nginx配置,改為https
         vi /etc/nginx/conf.d/xxx.com.conf
        server {
      	    #listen		80;		
              listen       443 ssl http2;
              server_name  xxx.com www.xxx.com;
              root         /root/www/xxx.com/dist/;
      
              ssl_certificate "/etc/nginx/ssl/xxx.com/fullchain.cer";
              ssl_certificate_key "/etc/nginx/ssl/xxx.com/xxx.com.key";
              ssl_session_cache shared:SSL:1m;
              ssl_session_timeout  10m;
              ssl_ciphers HIGH:!aNULL:!MD5;
              ssl_prefer_server_ciphers on;
          }
      
      1. 重新加載nginx
        nginx -t
        service nginx force-reload
      

      詳細(xì)文檔

      acme.sh 實(shí)現(xiàn)了 acme 協(xié)議, 可以從 letsencrypt 生成免費(fèi)的證書(shū).

      主要步驟:

      1. 安裝 acme.sh
      2. 生成證書(shū)
      3. copy 證書(shū)到 nginx/apache 或者其他服務(wù)
      4. 更新證書(shū)
      5. 更新 acme.sh
      6. 出錯(cuò)怎么辦, 如何調(diào)試

      下面詳細(xì)介紹.

      1. 安裝 acme.sh

      安裝很簡(jiǎn)單, 一個(gè)命令:

      curl https://get.acme.sh | sh -s email=my@example.com
      

      普通用戶和 root 用戶都可以安裝使用.
      安裝過(guò)程進(jìn)行了以下幾步:

      1. 把 acme.sh 安裝到你的 home 目錄下:
      ~/.acme.sh/
      

      并創(chuàng)建 一個(gè) shell 的 alias, 例如 .bashrc,方便你的使用: alias acme.sh=~/.acme.sh/acme.sh

      1. 自動(dòng)為你創(chuàng)建 cronjob, 每天 0:00 點(diǎn)自動(dòng)檢測(cè)所有的證書(shū), 如果快過(guò)期了, 需要更新, 則會(huì)自動(dòng)更新證書(shū).

      更高級(jí)的安裝選項(xiàng)請(qǐng)參考: https://github.com/Neilpang/acme.sh/wiki/How-to-install

      安裝過(guò)程不會(huì)污染已有的系統(tǒng)任何功能和文件, 所有的修改都限制在安裝目錄中: ~/.acme.sh/

      2. 生成證書(shū)

      acme.sh 實(shí)現(xiàn)了 acme 協(xié)議支持的所有驗(yàn)證協(xié)議.
      一般有兩種方式驗(yàn)證: http 和 dns 驗(yàn)證.

      1. http 方式需要在你的網(wǎng)站根目錄下放置一個(gè)文件, 來(lái)驗(yàn)證你的域名所有權(quán),完成驗(yàn)證. 然后就可以生成證書(shū)了.

      acme.sh --issue -d mydomain.com -d www.mydomain.com --webroot /home/wwwroot/mydomain.com/
      

      只需要指定域名, 并指定域名所在的網(wǎng)站根目錄. acme.sh 會(huì)全自動(dòng)的生成驗(yàn)證文件, 并放到網(wǎng)站的根目錄, 然后自動(dòng)完成驗(yàn)證. 最后會(huì)聰明的刪除驗(yàn)證文件. 整個(gè)過(guò)程沒(méi)有任何副作用.

      如果你用的 apache服務(wù)器, acme.sh 還可以智能的從 apache的配置中自動(dòng)完成驗(yàn)證, 你不需要指定網(wǎng)站根目錄:

      acme.sh --issue -d mydomain.com --apache
      

      如果你用的 nginx服務(wù)器, 或者反代, acme.sh 還可以智能的從 nginx的配置中自動(dòng)完成驗(yàn)證, 你不需要指定網(wǎng)站根目錄:

      acme.sh --issue -d mydomain.com --nginx
      

      注意, 無(wú)論是 apache 還是 nginx 模式, acme.sh在完成驗(yàn)證之后, 會(huì)恢復(fù)到之前的狀態(tài), 都不會(huì)私自更改你本身的配置. 好處是你不用擔(dān)心配置被搞壞, 也有一個(gè)缺點(diǎn), 你需要自己配置 ssl 的配置, 否則只能成功生成證書(shū), 你的網(wǎng)站還是無(wú)法訪問(wèn)https. 但是為了安全, 你還是自己手動(dòng)改配置吧.

      如果你還沒(méi)有運(yùn)行任何 web 服務(wù), 80 端口是空閑的, 那么 acme.sh 還能假裝自己是一個(gè)webserver, 臨時(shí)聽(tīng)在80 端口, 完成驗(yàn)證:

      acme.sh --issue -d mydomain.com --standalone
      

      acme.sh腳本默認(rèn)ca服務(wù)器是zerossl,經(jīng)常出錯(cuò),會(huì)導(dǎo)致獲取證書(shū)的時(shí)候一直出現(xiàn):Pending, The CA is processing your order, please just wait.

      只需要把ca服務(wù)器改成letsencrypt 即可,雖然更改以后還是有概率出現(xiàn)pending,但基本2-3次即可成功

      acme.sh --set-default-ca --server letsencrypt
      

      更高級(jí)的用法請(qǐng)參考: https://github.com/Neilpang/acme.sh/wiki/How-to-issue-a-cert

      2. 手動(dòng) dns 方式, 手動(dòng)在域名上添加一條 txt 解析記錄, 驗(yàn)證域名所有權(quán).

      這種方式的好處是, 你不需要任何服務(wù)器, 不需要任何公網(wǎng) ip, 只需要 dns 的解析記錄即可完成驗(yàn)證.
      壞處是,如果不同時(shí)配置 Automatic DNS API,使用這種方式 acme.sh 將無(wú)法自動(dòng)更新證書(shū),每次都需要手動(dòng)再次重新解析驗(yàn)證域名所有權(quán)。

      acme.sh --issue --dns -d mydomain.com \
       --yes-I-know-dns-manual-mode-enough-go-ahead-please
      
      

      然后, acme.sh 會(huì)生成相應(yīng)的解析記錄顯示出來(lái), 你只需要在你的域名管理面板中添加這條 txt 記錄即可.

      等待解析完成之后, 重新生成證書(shū):

      acme.sh --renew -d mydomain.com \
        --yes-I-know-dns-manual-mode-enough-go-ahead-please
      
      

      注意第二次這里用的是 --renew

      dns 方式的真正強(qiáng)大之處在于可以使用域名解析商提供的 api 自動(dòng)添加 txt 記錄完成驗(yàn)證.

      acme.sh 目前支持 cloudflare, dnspod, cloudxns, godaddy 以及 ovh 等數(shù)十種解析商的自動(dòng)集成.

      以 dnspod 為例, 你需要先登錄到 dnspod 賬號(hào), 生成你的 api id 和 api key, 都是免費(fèi)的.
      然后:

      export DP_Id="1234"
      
      export DP_Key="sADDsdasdgdsf"
      
      acme.sh --issue --dns dns_dp -d aa.com -d www.aa.com
      
      

      證書(shū)就會(huì)自動(dòng)生成了. 這里給出的 api id 和 api key 會(huì)被自動(dòng)記錄下來(lái), 將來(lái)你在使用 dnspod api 的時(shí)候, 就不需要再次指定了.
      直接生成就好了:

      acme.sh --issue -d mydomain2.com --dns  dns_dp
      

      更詳細(xì)的 api 用法: https://github.com/Neilpang/acme.sh/blob/master/dnsapi/README.md

      3. copy/安裝 證書(shū)

      前面證書(shū)生成以后, 接下來(lái)需要把證書(shū) copy 到真正需要用它的地方.

      注意, 默認(rèn)生成的證書(shū)都放在安裝目錄下: ~/.acme.sh/, 請(qǐng)不要直接使用此目錄下的文件, 例如: 不要直接讓 nginx/apache 的配置文件使用這下面的文件. 這里面的文件都是內(nèi)部使用, 而且目錄結(jié)構(gòu)可能會(huì)變化.

      正確的使用方法是使用 --install-cert 命令,并指定目標(biāo)位置, 然后證書(shū)文件會(huì)被copy到相應(yīng)的位置,
      例如:

      Apache example:

      acme.sh --install-cert -d example.com \
      --cert-file      /path/to/certfile/in/apache/cert.pem  \
      --key-file       /path/to/keyfile/in/apache/key.pem  \
      --fullchain-file /path/to/fullchain/certfile/apache/fullchain.pem \
      --reloadcmd     "service apache2 force-reload"
      

      Nginx example:

      acme.sh --install-cert -d example.com \
      --key-file       /path/to/keyfile/in/nginx/key.pem  \
      --fullchain-file /path/to/fullchain/nginx/cert.pem \
      --reloadcmd     "service nginx force-reload"
      

      (一個(gè)小提醒, 這里用的是 service nginx force-reload, 不是 service nginx reload, 據(jù)測(cè)試, reload 并不會(huì)重新加載證書(shū), 所以用的 force-reload)

      Nginx 的配置 ssl_certificate 使用 /etc/nginx/ssl/fullchain.cer ,而非 /etc/nginx/ssl/<domain>.cer ,否則 SSL Labs 的測(cè)試會(huì)報(bào) Chain issues Incomplete 錯(cuò)誤。

      --install-cert命令可以攜帶很多參數(shù), 來(lái)指定目標(biāo)文件. 并且可以指定 reloadcmd, 當(dāng)證書(shū)更新以后, reloadcmd會(huì)被自動(dòng)調(diào)用,讓服務(wù)器生效.

      詳細(xì)參數(shù)請(qǐng)參考: https://github.com/Neilpang/acme.sh#3-install-the-issued-cert-to-apachenginx-etc

      值得注意的是, 這里指定的所有參數(shù)都會(huì)被自動(dòng)記錄下來(lái), 并在將來(lái)證書(shū)自動(dòng)更新以后, 被再次自動(dòng)調(diào)用.

      4. 查看已安裝證書(shū)信息

      acme.sh --info -d example.com
      # 會(huì)輸出如下內(nèi)容:
      DOMAIN_CONF=/root/.acme.sh/example.com/example.com.conf
      Le_Domain=example.com
      Le_Alt=no
      Le_Webroot=dns_ali
      Le_PreHook=
      Le_PostHook=
      Le_RenewHook=
      Le_API=https://acme-v02.api.letsencrypt.org/directory
      Le_Keylength=
      Le_OrderFinalize=https://acme-v02.api.letsencrypt.org/acme/finalize/23xxxx150/781xxxx4310
      Le_LinkOrder=https://acme-v02.api.letsencrypt.org/acme/order/233xxx150/781xxxx4310
      Le_LinkCert=https://acme-v02.api.letsencrypt.org/acme/cert/04cbd28xxxxxx349ecaea8d07
      Le_CertCreateTime=1649358725
      Le_CertCreateTimeStr=Thu Apr  7 19:12:05 UTC 2022
      Le_NextRenewTimeStr=Mon Jun  6 19:12:05 UTC 2022
      Le_NextRenewTime=1654456325
      Le_RealCertPath=
      Le_RealCACertPath=
      Le_RealKeyPath=/etc/acme/example.com/privkey.pem
      Le_ReloadCmd=service nginx force-reload
      Le_RealFullChainPath=/etc/acme/example.com/chain.pem
      

      5. 更新證書(shū)

      目前證書(shū)在 60 天以后會(huì)自動(dòng)更新, 你無(wú)需任何操作. 今后有可能會(huì)縮短這個(gè)時(shí)間, 不過(guò)都是自動(dòng)的, 你不用關(guān)心.

      請(qǐng)確保 cronjob 正確安裝, 看起來(lái)是類似這樣的:

      crontab  -l
      
      56 * * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null
      

      6. 關(guān)于修改ReloadCmd

      目前修改ReloadCmd沒(méi)有專門(mén)的命令,可以通過(guò)重新安裝證書(shū)來(lái)實(shí)現(xiàn)修改reloadCmd的目的。
      此外,安裝證書(shū)后,相關(guān)信息是保存在~/.acme.sh/example.com/example.conf文件下的,內(nèi)容就是acme.sh --info -d example.com輸出的信息,不過(guò)ReloadCmd在文件中使用了Base64編碼。理論上可以通過(guò)直接修改該文件來(lái)修改ReloadCmd,且修改時(shí),無(wú)需Base64編碼,直接寫(xiě)命令原文acme.sh也可以識(shí)別。
      不過(guò),example.conf文件的位置和內(nèi)容格式以后可能會(huì)改變!example.conf一直都是內(nèi)部使用, 后面有可能會(huì)改為用 sqlite 或者mysql 格式存儲(chǔ). 所以一般不建議自己修改。

      7. 更新 acme.sh

      目前由于 acme 協(xié)議和 letsencrypt CA 都在頻繁的更新, 因此 acme.sh 也經(jīng)常更新以保持同步.

      升級(jí) acme.sh 到最新版 :

      acme.sh --upgrade
      

      如果你不想手動(dòng)升級(jí), 可以開(kāi)啟自動(dòng)升級(jí):

      acme.sh --upgrade --auto-upgrade
      

      之后, acme.sh 就會(huì)自動(dòng)保持更新了.

      你也可以隨時(shí)關(guān)閉自動(dòng)更新:

      acme.sh --upgrade --auto-upgrade  0
      

      8. 出錯(cuò)怎么辦:

      如果出錯(cuò), 請(qǐng)?zhí)砑?debug log:

      acme.sh --issue  .....  --debug 
      

      或者:

      acme.sh --issue  .....  --debug  2
      

      請(qǐng)參考: https://github.com/Neilpang/acme.sh/wiki/How-to-debug-acme.sh

      在DNS驗(yàn)證模式下如果debug中出現(xiàn)諸如"timed out"等字樣可能是因?yàn)镚FW攔截了相應(yīng)請(qǐng)求,需要添加http(s) proxy環(huán)境變量。(請(qǐng)按照自己實(shí)際設(shè)定修改)

      export http_proxy="socks5h://localhost:1081" && export https_proxy="socks5h://localhost:1081" 
      

      如果是使用docker則完整示例配置如下:

      docker run --rm  -it  \
        -v "/etc/acme":/acme.sh  \
        -e "CF_Token=[填入自己的信息]" \
        -e "CF_Account_ID=[填入自己的信息]" \
        -e "CF_Zone_ID=[填入自己的信息]" \
        -e http_proxy="socks5h://[代理A]:1234" \
        -e https_proxy="socks5h://[代理A]:1234" \
        --network container:[代理A]\
        neilpang/acme.sh \
        --issue -d example.com --dns dns_cf --debug
      

      上述例子中使用cloudflare的DNS來(lái)簽發(fā)證書(shū),并通過(guò)把a(bǔ)cme.sh鏈接到容器[代理A],來(lái)轉(zhuǎn)發(fā)curl請(qǐng)求(請(qǐng)按照自己實(shí)際設(shè)定修改)

      最后, 本文并非完全的使用說(shuō)明, 還有很多高級(jí)的功能, 更高級(jí)的用法請(qǐng)參看其他 wiki 頁(yè)面.

      https://github.com/Neilpang/acme.sh/wiki

      posted @ 2024-10-24 10:25  rm-rf*  閱讀(87)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 国产JJIZZ女人多水喷水| 欧美浓毛大泬视频| 国产老熟女一区二区三区| 亚洲成AV人片在线观高清| 亚洲国产精品一区二区第一页| 欧美 亚洲 另类 丝袜 自拍 动漫| 116美女极品a级毛片| 91福利一区福利二区| av天堂亚洲天堂亚洲天堂| 中国老太婆video| 婷婷久久香蕉五月综合加勒比| 国产精品福利自产拍在线观看 | 玩弄丰满少妇人妻视频| 成人国产精品一区二区网站公司| 亚洲一区二区三区18禁| 国产欧美日韩另类精彩视频| 欧美高清一区三区在线专区| 激情综合五月| 亚洲国产精品综合久久网各| 国产无遮挡又黄又爽又色| 国产精成人品日日拍夜夜| 最新国产精品好看的精品| 人妻日韩精品中文字幕| 免费视频爱爱太爽了| 伊人久久大香线蕉av色婷婷色| 越南毛茸茸的少妇| 女同性恋一区二区三区视频| 国产精品一区二区三区黄| 一二三四中文字幕日韩乱码| 精品一卡2卡三卡4卡乱码精品视频 | 亚洲女女女同性video| 中文字幕亚洲综合小综合| 亚洲婷婷综合色高清在线| 国产午夜福利视频第三区| 亚洲电影天堂在线国语对白| 亚洲人成网线在线播放VA| 欧美精品一区二区三区中文字幕| 伦伦影院精品一区| 狠狠躁夜夜躁人人爽天天5| 国产一区二区三区四区色| 亚洲日产韩国一二三四区|