mirror of
https://github.com/9001/copyparty.git
synced 2025-08-17 17:12:13 -06:00
60 lines
2.1 KiB
Plaintext
60 lines
2.1 KiB
Plaintext
# when running copyparty behind a reverse proxy,
|
|
# the following arguments are recommended:
|
|
#
|
|
# -i 127.0.0.1 only accept connections from nginx
|
|
#
|
|
# -nc must match or exceed the webserver's max number of concurrent clients;
|
|
# copyparty default is 1024 if OS permits it (see "max clients:" on startup),
|
|
# nginx default is 512 (worker_processes 1, worker_connections 512)
|
|
#
|
|
# you may also consider adding -j0 for CPU-intensive configurations
|
|
# (5'000 requests per second, or 20gbps upload/download in parallel)
|
|
#
|
|
# on fedora/rhel, remember to setsebool -P httpd_can_network_connect 1
|
|
#
|
|
# if you are behind cloudflare (or another protection service),
|
|
# remember to reject all connections which are not coming from your
|
|
# protection service -- for cloudflare in particular, you can
|
|
# generate the list of permitted IP ranges like so:
|
|
# (curl -s https://www.cloudflare.com/ips-v{4,6} | sed 's/^/allow /; s/$/;/'; echo; echo "deny all;") > /etc/nginx/cloudflare-only.conf
|
|
#
|
|
# and then enable it below by uncomenting the cloudflare-only.conf line
|
|
|
|
upstream cpp {
|
|
server 127.0.0.1:3923 fail_timeout=1s;
|
|
keepalive 1;
|
|
}
|
|
server {
|
|
listen 443 ssl;
|
|
listen [::]:443 ssl;
|
|
|
|
server_name fs.example.com;
|
|
|
|
# uncomment the following line to reject non-cloudflare connections, ensuring client IPs cannot be spoofed:
|
|
#include /etc/nginx/cloudflare-only.conf;
|
|
|
|
location / {
|
|
proxy_pass http://cpp;
|
|
proxy_redirect off;
|
|
# disable buffering (next 4 lines)
|
|
proxy_http_version 1.1;
|
|
client_max_body_size 0;
|
|
proxy_buffering off;
|
|
proxy_request_buffering off;
|
|
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
# NOTE: with cloudflare you want this instead:
|
|
#proxy_set_header X-Forwarded-For $http_cf_connecting_ip;
|
|
proxy_set_header X-Forwarded-Proto $scheme;
|
|
proxy_set_header Connection "Keep-Alive";
|
|
}
|
|
}
|
|
|
|
# default client_max_body_size (1M) blocks uploads larger than 256 MiB
|
|
client_max_body_size 1024M;
|
|
client_header_timeout 610m;
|
|
client_body_timeout 610m;
|
|
send_timeout 610m;
|