Command-Line

在 Oracle Linux 伺服器上安裝 Let’s Encrypt SSL 證書

  • November 25, 2019

我正在嘗試在 Oracle Linux Server 7.6 上安裝 Let’s Encrypt 證書。由於伺服器沒有公共 IP,我必須通過 DNS 進行驗證。我按照這裡的說明進行操作https://github.com/joohoi/acme-dns-certbot-joohoi並且驗證成功並且我獲得了證書。我現在如何安裝證書?

我按照線上說明將證書移動到 etc/ssl/certs 並刪除了舊證書。重新啟動機器後,網站無法正常工作,並且出現錯誤站點無法訪問。

我只能通過 SSH 與伺服器互動。

我相信這應該可以與 CentOS 7.6 相媲美。路徑etc/ssl/certs只是一個符號連結到/etc/pki/tls/certs/. 證書分為兩部分,您已經提到的第一部分是 *.crt 文件,其中包含公鑰,/etc/pki/tls/certs/在我的情況下應放置在其中certificate.crt,而另一部分是私鑰,應放置在其中in /etc/pki/tls/private/,通常有 *.key 副檔名,在我的情況下private.key

如果您使用的是 Apache Web 伺服器,這是我的一個工作範例redmine.conf,它應該足以指導您:

<VirtualHost *:80>
   RewriteEngine On
   RewriteCond %{HTTPS}  !=on
   RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
</VirtualHost>


<VirtualHost *:443>
   ServerName www.example.com
   ServerAlias 192.0.2.37

   SSLEngine on
   SSLCertificateFile /etc/pki/tls/certs/certificate.crt
   SSLCertificateKeyFile /etc/pki/tls/private/private.key
   SSLCertificateChainFile /etc/pki/tls/certs/ca_bundle.crt

   DocumentRoot /var/www/html/redmine/public

   <Directory /var/www/html/redmine/public>
     Allow from all
     Options -MultiViews
     Require all granted
   </Directory>
</VirtualHost>

我幾乎忘了提到——這可能會解決你的問題——你需要確保你有防火牆規則,並且永久的規則如下:

firewall-cmd --permanent --add-service=http --add-service=https --zone=public
firewall-cmd --reload

此外,請確保您已禁用 SeLinux,以防您尚未更改其 Web 服務規則。

引用自:https://unix.stackexchange.com/questions/533439