Ssl

HTTPS/SSL 不適用於 Cups

  • September 26, 2021

我有一個網站

mysite.com

和一台列印機

mysite.com:631/printers/myprinter

好吧,https://www.mysite.com 完美執行並經過驗證,但 https://www.mysite.com:631/printers/myprinter 不會。它說連接不安全,我無法安裝列印機。

這就是我在 CUPS 伺服器中的 conf.d 中的內容:

DefaultEncryption Required
ServerCertificate /etc/letsencrypt/live/mysite/cert.pem
ServerKey /etc/letsencrypt/live/mysite/privkey.pem
SSLPort 443

對製作列印機和網站 https 有任何幫助嗎?

將您的 SSL(例如 LetsEncrypt )複製到 cups 目錄,如下所示:

cat /etc/letsencrypt/live/yourdomain.com/fullchain.pem >> /etc/cups/ssl/server.crt
cat /etc/letsencrypt/live/yourdomain.com/privkey.pem >> /etc/cups/ssl/server.key

重啟杯子伺服器:

systemctl restart cups  # on CentOS

我在這裡的時候會添加一些註釋。

我正在使用 Nginx 通過 CUPS IP/埠轉發一個漂亮的域。

這裡的這個網站(與我無關)讓它點擊了。

無論如何,在我的 nginx 配置中,我有一個這樣的位置塊:

location /printers {
   // this is the info that came from the site mentioned
   proxy_pass http://localhost:631;
   proxy_set_header Host "127.0.0.1";
   proxy_set_header X-Real-IP $remote_addr;
   proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
}

我使用 Lets Encrypt 生成了我的證書,轉到我使用的 SchiWaGoA 提到的相同文件夾,symlink而不是cat因為我有權限問題,例如:

ln -s /lets-encrypt-path/fullchain.pem /cups-ssl-path/server.crt (same as above)

cupds.conf

Listen localhost:631

<Location />
 Order allow, deny
 Allow from @LOCAL
</Location>

在這個文件的底部,我添加了加密的東西,因為我沒有它

DefaultEncryption Required
ServerCertificate /etc/cups/ssl/server.crt
ServerKey /etc/cups/ssl/server.key

就是這樣,能夠使用帶有https://example.com/printers/printer-nameurl 方案的共享主機名 url 和 MS PS 驅動程序在我的 Windows 10 客戶端上添加列印機。

筆記。我不是 100% 的,<Location />所以請檢查它是否適合您的需求。

將添加 atm 我注意到伺服器一直在關閉,這與我以前的非 https CUPS 不同,很奇怪。

看起來您需要將此行添加cupsd.conf

ServerAlias *

無論如何,我的問題之一是會監控它是否有所改善。

我重新啟動後似乎有所改善,如果我發現某些特定原因它經常下降,會報告。非 https 的已經上線了幾個月。

我最終修改了systemd文件

Restart=always
RestartSec=3

此外,證書行應該進入cups-files.conf而不是cupsd.conf根據杯子的調試日誌。現在不是問題,但將來會。

引用自:https://serverfault.com/questions/883918