Slow printing using IPPS from Linux
Situation
Print jobs sent using IPPS take several minutes, even for a small job and good network connection. Print jobs sent using IPP, without TLS encryption, are not affected by this issue and are transferred as quickly as the network will support.
Possible cause
Communication issues between some versions of Linux CUPS TLS implementation and the Microsoft .NET implementation of TLS can cause slow data transfers.
Solution
The recommended solution is to use Nginx as a reverse proxy to receive print jobs using IPPS. After Nginx receives the print job from the Linux client the data is sent to YSoft SafeQ Mobile Integration Gateway using the local network interface.
Nginx can be installed on the same server as YSoft SafeQ Mobile Integration Gateway. All Linux clients need to send print jobs using IPPS to the Nginx proxy instead of YSoft SafeQ Mobile Integration Gateway.
How to run Nginx on the same server under Windows.
Download and extract Nginx for Windows from https://nginx.org/en/download.html
Download and extract nssm from https://nssm.cc/download
Open nginx\conf\nginx.conf. Find the http section and add this (configure according to the comments):
server {
## Configure port to listen
for
IPPS requests
listen
631
ssl;
## Configure path to certificate
ssl_certificate path/to/cert.pem;
ssl_certificate_key path/to/key.pem;
location / {
## Forward IPPS requests to the configured YSoft SafeQ Mobile Integration Gateway URL and port
proxy_pass https:
//127.0.0.1:8050/;
## Certificate verification is disabled by
default
.
## Certificate verification is recommended
if
proxy_pass is not
127.0
.
0.1
.
## To validate server certificate uncomment and specify path to CA certificate.
# proxy_ssl_verify on;
# proxy_ssl_trusted_certificate path/to/ca/certificate.pem;
}
}
In nssm\win64 directory, run this command:
nssm install
"Nginx for YSoft SafeQ Mobile Integration Gateway"
Fill nginx.exe with full path in Application Path and Nginx directory in Startup directory.
Press Install service.
Open Windows services and enable automatic start for this service.
Configure Linux clients to send print jobs using IPPS to the configured Nginx port.