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?
Скопируйте ваш 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
Добавлю пару заметок, пока я здесь.
Я использую 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. Сейчас это не проблема, но будет в будущем.