使用Nginx搭建一个远程打印机服务器

使用Nginx搭建一个远程打印机服务器

dkm
dkm
2022-12-13 / 0 评论 / 40 阅读 / 正在检测是否收录...

本篇为本系列第一个实战项目,使用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原理。
Test

输入上面的ipp://192.168.197.141/printers/Cups-PDF
添加,驱动选择Generic->型号CUPS-PDF->应用
然后查看打印机面板,已添加一台打印机
Test

0

评论

博主关闭了所有页面的评论