本篇为本系列第一个实战项目,使用Nginx的443端口搭建一个打印机服务器,本文需要的软件有cups和Nginx以及一个签名签好的SSL证书,服务器为CentOS7,客户端为CentOS7本机 20H2
cups(苹果公司开发的打印机服务器软件)
安装cups
yum -y install epel-release
yum -y install cups
systemctl start cups
ss -ant
#如果ss -ant之后能看到631端口被监听那就是启动了cups服务,打开浏览器访问cups管理面板,添加一个PDF打印机(因为没有实体打印机)
yum -y install cups-pdf
浏览器打开服务器IP地址+:631端口访问管理面板
点击Printer,能显示打印机名称
上面的打印机URL就是这台打印机的共享目录,这个复制好
这是我的打印机共享目录
http://127.0.0.1:631/printers/Cups-PDF
然后打开Nginx,上传SSL证书,然后反向代理127.0.0.1:631,监听80端口然后开启强制HTTPS。
server {
listen 80;
listen 443 ssl;
server_name 192.168.197.141;
ssl_certificate /crt/192.168.197.141/192.168.197.141.crt;
ssl_certificate_key /crt/192.168.197.141/192.168.197.141.key;
ssl_session_timeout 5m;
ssl_session_cache shared:SSL:5m;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
#强制HTTPS跳转
if ($scheme = http) {
return 301 https://$host$request_uri;
}
location / {
proxy_pass http://127.0.0.1:631;
}
}
打开CentOS的打印机管理工具,因为Linux的默认打印机协议是ipp,这里直接输入默认的ipp://192.168.197.141/printers/Cups-PDF
共享路径即可访问共享(走SSL)
因为Nginx反向代理了打印机,会自动HTTPS加密(还可以过CDN)(实际测试过可以过CloudFlare)因为cups本身就是HTTP原理。
输入上面的ipp://192.168.197.141/printers/Cups-PDF
添加,驱动选择Generic->型号CUPS-PDF->应用
然后查看打印机面板,已添加一台打印机
评论