HTTPS/SSL not working with Cups

I have a site

mysite.com

and a printer

mysite.com:631/printers/myprinter

Well, https:// www.mysite.com works perfectly and is validated, but https:// www.mysite.com:631/printers/myprinter won't. It says that the connection is not secured and I cannot install the printer.

This is what I have in conf.d in my CUPS server:

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

Any help making the printer and the site https?

0
задан 17 November 2017 в 13:03
2 ответа

Скопируйте ваш 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

restart cups-server:

systemctl restart cups  # on CentOS
2
ответ дан 4 December 2019 в 13:29

Добавлю пару заметок, пока я здесь.

Я использую Nginx для переадресации красивого домена через IP/порт CUPS.

Этот сайт здесь (не имеет отношения ко мне)кликнул.

Во всяком случае, в моей конфигурации 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

И вот и все, я смог добавить принтер в свой клиент Windows 10, используя URL-адрес общего имени хоста со схемой URL-адресов https://example.com/printers/printer-name, а затем драйвер MS PS.

Примечание. Я не на 100% уверен в блоке <Location />, поэтому проверьте, подходит ли он вам.

Добавлю банкомат Я заметил, что сервер продолжает падать, в отличие от моих предыдущих CUPS без https, странно.

Похоже, вам нужно добавить эту строку вcupsd.conf

ServerAlias *

В любом случае, это одна из моих проблем, буду следить, не улучшится ли она.

Кажется, после перезапуска ситуация улучшилась. Сообщу, если обнаружу какую-то конкретную причину частых сбоев. Не-https работает уже несколько месяцев.

В итоге я модифицировал файл systemd.

Restart=always
RestartSec=3

Кроме того, строки сертификата должны идти в cups-files.confвместо cupsd.conf, согласно журналам отладки cups. Сейчас это не проблема, но будет в будущем.

0
ответ дан 24 September 2021 в 13:16

Теги

Похожие вопросы