āĻĒā§āĻ°āĻžāĻāĻāĻ¤āĻŋāĻšāĻžāĻ¸āĻŋāĻ
āĻāĻāĻž āĻ āĻŋāĻ āĻ¤āĻžāĻ āĻāĻā§āĻā§ āĻ¯ā§ āĻāĻŽāĻžāĻā§ āĻā§āĻĨāĻžāĻ 1.5 TB-āĻāĻ° āĻŦā§āĻļāĻŋ āĻĄā§āĻāĻž āĻ¸āĻā§āĻāĻ¯āĻŧ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻĻā§āĻ° āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ˛āĻŋāĻā§āĻā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻāĻŋ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻ¤āĻŋāĻšā§āĻ¯āĻāĻ¤āĻāĻžāĻŦā§ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻŽā§āĻŽāĻ°āĻŋāĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻāĻŋāĻĄāĻŋāĻāĻ¸-āĻ āĻ¯āĻžāĻ¯āĻŧ, āĻāĻžāĻĄāĻŧāĻžāĻ° āĻāĻ°āĻ āĻ¯āĻž "āĻāĻŋāĻā§āĻ āĻāĻ°āĻžāĻ° āĻ¨ā§āĻ" āĻŦāĻŋāĻāĻžāĻ āĻĨā§āĻā§ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§āĻ° āĻŦāĻžāĻā§āĻā§ āĻā§āĻŦ āĻŦā§āĻļāĻŋ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻ¨āĻ¯āĻŧ, āĻāĻŦāĻ āĻā§āĻ¸ āĻĄā§āĻāĻž āĻĨā§āĻā§ āĻāĻŽāĻžāĻ° āĻāĻžāĻā§ āĻāĻāĻāĻŋ VPS 400GB SSD āĻāĻŋāĻ˛, āĻ¯ā§āĻāĻžāĻ¨ā§, āĻāĻŽāĻ¨āĻāĻŋ āĻ¯āĻĻāĻŋ āĻāĻŽāĻŋ āĻā§āĻ¯āĻŧā§āĻāĻŋāĻ˛āĻžāĻŽ, āĻāĻŽāĻŋ āĻ˛āĻ¸āĻ˛ā§āĻ¸ āĻāĻŽā§āĻĒā§āĻ°ā§āĻļāĻ¨ āĻāĻžāĻĄāĻŧāĻž 1.5TB āĻāĻŽā§āĻ āĻ°āĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°āĻ¤āĻžāĻŽ āĻ¨āĻž āĻāĻāĻž āĻ¸āĻĢāĻ˛ āĻšāĻŦā§āĨ¤
āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻāĻŽāĻžāĻ° āĻŽāĻ¨ā§ āĻāĻā§ āĻ¯ā§ āĻ¯āĻĻāĻŋ āĻāĻŽāĻŋ āĻā§āĻāĻ˛ āĻĄā§āĻ°āĻžāĻāĻ āĻĨā§āĻā§ āĻāĻŦāĻ°ā§āĻāĻ¨āĻž āĻŽā§āĻā§ āĻĢā§āĻ˛āĻŋ, āĻ¯ā§āĻŽāĻ¨ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻā§āĻ˛āĻŋ āĻ¯ā§āĻā§āĻ˛āĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻ¨ā§āĻĄā§āĻ āĻāĻā§āĻ¸āĻĒāĻŋāĻ¤ā§ āĻāĻ˛āĻŦā§ āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻāĻŋāĻ¨āĻŋāĻ¸āĻā§āĻ˛āĻŋ āĻ¯āĻž āĻāĻ āĻĄāĻŋāĻāĻžāĻāĻ¸ āĻĨā§āĻā§ āĻ āĻ¨ā§āĻ¯ āĻĄāĻŋāĻāĻžāĻāĻ¸ā§ āĻāĻ˛ā§ āĻāĻ¸āĻā§ āĻ¸ā§āĻ āĻĻāĻŋāĻ¨āĻā§āĻ˛āĻŋ āĻĨā§āĻā§ āĻ¯āĻāĻ¨ āĻāĻ¨ā§āĻāĻžāĻ°āĻ¨ā§āĻ āĻāĻ¤ āĻĻā§āĻ°ā§āĻ¤ āĻāĻŋāĻ˛ āĻ¨āĻž āĻ¸ā§āĻŽāĻžāĻšā§āĻ¨ āĻ¨āĻ¯āĻŧ ( āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻŦāĻā§āĻ¸ā§āĻ° āĻ¸ā§āĻ 10-20 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖāĻā§āĻ˛āĻŋāĻ° āĻ¨āĻ¸ā§āĻāĻžāĻ˛āĻāĻŋāĻ āĻāĻžāĻĄāĻŧāĻž āĻ āĻ¨ā§āĻ¯ āĻā§āĻ¨āĻ āĻŽāĻžāĻ¨ āĻĨāĻžāĻāĻžāĻ° āĻ¸āĻŽā§āĻāĻžāĻŦāĻ¨āĻž āĻ¨ā§āĻ), āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¸āĻŦāĻāĻŋāĻā§ āĻā§āĻŦ āĻāĻžāĻ˛āĻāĻžāĻŦā§ āĻĢāĻŋāĻ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤āĨ¤ āĻ¯āĻ¤ āĻ¤āĻžāĻĄāĻŧāĻžāĻ¤āĻžāĻĄāĻŧāĻŋ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧā§ āĻā§āĻ˛āĨ¤ āĻāĻŦāĻ āĻ¤āĻžāĻ, āĻāĻĒāĻŋāĻāĻ-āĻ¤ā§ āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻžāĻ° āĻ¸ā§āĻŽāĻž āĻā§āĻā§āĻā§ (āĻ¯āĻžāĻ āĻšā§āĻ, āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¤āĻŋāĻāĻ¤ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ¤āĻž āĻā§āĻ¨ā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻāĻžāĻĄāĻŧāĻžāĻ āĻĒā§āĻ°āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻā§āĻāĻž 100 āĻ¸ā§āĻā§āĻ¨ā§āĻĄā§ 10 āĻāĻ°ā§ āĻŦāĻžāĻĄāĻŧāĻŋāĻ¯āĻŧā§āĻā§), āĻĄā§āĻāĻž āĻĻā§āĻ°ā§āĻ¤ āĻ¤āĻžāĻ° āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻāĻžāĻ¯āĻŧāĻāĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻŦāĻžāĻšāĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤ .
āĻ¸āĻŦāĻāĻŋāĻā§ āĻāĻžāĻ˛ āĻŦāĻ˛ā§ āĻŽāĻ¨ā§ āĻšāĻā§āĻā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻ¨ āĻāĻāĻŋ āĻļā§āĻˇ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻāĻžāĻā§ āĻĒā§āĻāĻā§ āĻĻā§āĻāĻ¯āĻŧāĻž āĻĻāĻ°āĻāĻžāĻ°āĨ¤ āĻ¤āĻĻā§āĻĒāĻ°āĻŋ, āĻ āĻ¨ā§āĻ¯ āĻ¸āĻāĻ¸ā§āĻĨāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ¤ā§ āĻā§āĻ¨āĻ āĻĒā§āĻ¨āĻāĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻžāĻĄāĻŧāĻžāĻ, āĻ¤āĻŦā§ āĻ¯āĻžāĻ¤ā§ āĻāĻāĻāĻ¨ āĻŦā§āĻ¯āĻā§āĻ¤āĻŋ āĻā§āĻŦāĻ˛ "āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ" āĻŦā§āĻ¤āĻžāĻŽ āĻāĻŋāĻĒā§āĻ¨ āĻāĻŦāĻ āĻŽā§āĻ˛ā§āĻ¯āĻŦāĻžāĻ¨ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ¸ā§āĻā§ āĻŽāĻžāĻ˛āĻŋāĻ āĻšāĻ¨āĨ¤
āĻāĻāĻžāĻ¨ā§, āĻāĻļā§āĻŦāĻ°ā§āĻ° āĻāĻ¸āĻŽ, āĻāĻŽāĻŋ āĻ¸āĻŦ āĻ§āĻ°āĻŖā§āĻ° āĻāĻžāĻŽā§āĻ˛āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻŋāĻ¯āĻŧā§āĻāĻŋāĻ˛āĻžāĻŽāĨ¤ āĻĒā§āĻ°āĻĨāĻŽā§ āĻāĻāĻŋ AmPHP-āĻ āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻŋāĻ˛, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻŋ āĻ¯ā§ āĻ˛ā§āĻĄ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻā§ āĻ¤āĻžāĻ¤ā§ āĻāĻŽāĻŋ āĻ¸āĻ¨ā§āĻ¤ā§āĻˇā§āĻ āĻāĻŋāĻ˛āĻžāĻŽ āĻ¨āĻž (āĻļā§āĻ°ā§āĻ¤ā§ 100% āĻŽā§āĻ˛ āĻāĻ°āĻā§ āĻāĻāĻāĻŋ āĻ¤ā§āĻā§āĻˇā§āĻŖ āĻ˛āĻžāĻĢ)āĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻ°āĻŋāĻ ā§āĻ¯āĻžāĻā§āĻāĻĒāĻŋāĻāĻāĻāĻĒāĻŋ-āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻžāĻ°ā§āĻ˛ āĻ°âā§āĻ¯āĻžāĻĒāĻžāĻ°āĻāĻŋ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛, āĻ¯āĻž āĻ¸āĻŋāĻĒāĻŋāĻāĻ āĻāĻā§āĻ°ā§āĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻŽāĻžāĻ° āĻāĻā§āĻāĻžāĻ° āĻ¸āĻžāĻĨā§ āĻŦā§āĻļ āĻŽāĻžāĻ¨āĻžāĻ¨āĻ¸āĻ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻŋ āĻ¯āĻž āĻā§āĻ¯āĻŧā§āĻāĻŋāĻ˛āĻžāĻŽ āĻ¤āĻž āĻŽā§āĻā§āĻ āĻāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧāĻ¨āĻŋ (āĻāĻāĻŋ āĻĒā§āĻ°āĻŽāĻžāĻŖāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§ āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ āĻā§āĻŦāĻ˛ āĻāĻ˛āĻŋāĻāĻ¯āĻŧā§āĻ° āĻŦā§āĻ¯āĻŦāĻ§āĻžāĻ¨ āĻāĻŽāĻžāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ curl_multi_select, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻžāĻā§ āĻĒā§āĻ°āĻĨāĻŽ āĻŦāĻŋāĻāĻ˛ā§āĻĒā§āĻ° āĻŽāĻ¤ā§ āĻĒā§āĻā§āĻ āĻĨāĻžāĻā§)āĨ¤ āĻāĻŽāĻŋ āĻāĻŽāĻ¨āĻāĻŋ āĻŽāĻ°āĻŋāĻāĻž-āĻ āĻāĻāĻāĻŋ āĻā§āĻ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻ˛ā§āĻāĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻāĻŋ, āĻāĻŦāĻ āĻāĻāĻŋ āĻŦā§āĻļ āĻĻā§āĻ°ā§āĻ¤ āĻāĻžāĻ āĻāĻ°ā§āĻā§ (āĻāĻāĻŋ āĻāĻļā§āĻāĻ°ā§āĻ¯āĻāĻ¨āĻ āĻ¯ā§ āĻāĻāĻŋ āĻāĻžāĻ āĻāĻ°ā§āĻā§, āĻāĻŽāĻžāĻ° āĻā§āĻāĻžāĻ¨ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§āĻā§), āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻŋ āĻāĻ°āĻ āĻāĻžāĻ, āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻžāĻ¸ā§āĻāĻŽāĻžāĻāĻ āĻāĻ°āĻž āĻāĻāĻ°āĻāĻŽ āĻāĻ āĻŋāĻ¨ āĻāĻŋāĻ˛āĨ¤ āĻ¤āĻĻāĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤, āĻāĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨āĻā§āĻ˛āĻŋ āĻāĻāĻ°āĻāĻŽ āĻ āĻĻā§āĻā§āĻ¤āĻāĻžāĻŦā§ āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋāĻā§ āĻŦāĻžāĻĢāĻžāĻ° āĻāĻ°ā§āĻāĻŋāĻ˛ āĻāĻŦāĻ āĻāĻŽāĻŋ āĻ¸ā§āĻ āĻŽā§āĻšā§āĻ°ā§āĻ¤āĻāĻŋ āĻā§āĻ°ā§āĻ¯āĻžāĻ āĻāĻ°āĻ¤ā§ āĻā§āĻ¯āĻŧā§āĻāĻŋāĻ˛āĻžāĻŽ āĻ¯āĻāĻ¨ āĻĢāĻžāĻāĻ˛ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄāĻāĻŋ āĻ¸āĻ°ā§āĻŦāĻžāĻ§āĻŋāĻ āĻ¨āĻŋāĻ°ā§āĻā§āĻ˛āĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻļā§āĻˇ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤
āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻāĻžāĻŦā§, āĻāĻāĻŋ āĻāĻŋāĻā§āĻā§āĻˇāĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻžāĻŦāĻžāĻāĻāĻž āĻāĻŋāĻ˛, āĻ¤āĻŦā§ āĻāĻāĻŋ āĻāĻžāĻ āĻāĻ°ā§āĻāĻŋāĻ˛āĨ¤ āĻāĻāĻĻāĻŋāĻ¨ āĻ āĻŦāĻ§āĻŋ āĻāĻŽāĻŋ āĻāĻāĻāĻŋ āĻ§āĻžāĻ°āĻŖāĻž āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻ¸ā§āĻāĻŋ āĻ¯āĻž āĻāĻ° āĻĒāĻžāĻāĻ˛āĻžāĻŽāĻŋāĻ¤ā§ āĻ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻāĻŋāĻ˛: nginx, āĻ¤āĻžāĻ¤ā§āĻ¤ā§āĻŦāĻŋāĻāĻāĻžāĻŦā§, āĻāĻŽāĻŋ āĻ¯āĻž āĻāĻžāĻ āĻ¤āĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻĻā§āĻ°ā§āĻ¤ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻŦāĻ āĻāĻŽāĻ¨āĻāĻŋ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ§āĻ°āĻŖā§āĻ° āĻŦāĻŋāĻā§āĻ¤āĻŋāĻā§ āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧāĨ¤ āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ - āĻ¯āĻĻāĻŋ āĻāĻāĻŋ āĻāĻžāĻ āĻāĻ°ā§? āĻāĻŦāĻ āĻā§āĻ°āĻŽāĻžāĻāĻ¤ āĻ āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ā§āĻ° āĻ āĻ°ā§āĻ§ā§āĻ āĻĻāĻŋāĻ¨ āĻĒāĻ°ā§, āĻāĻāĻāĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻŽ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ āĻ¯āĻž āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻ āĻŽāĻžāĻ¸ āĻ§āĻ°ā§ āĻ¸ā§āĻĨāĻŋāĻ°āĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°āĻā§ āĻāĻŦāĻ āĻāĻŽāĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧāĻ¤āĻž āĻĒā§āĻ°āĻŖ āĻāĻ°ā§āĻā§āĨ¤
NGINX āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻž āĻšāĻā§āĻā§
# ĐĐĩŅвŅĐŧ Đ´ĐĩĐģĐžĐŧ ŅОСдадиĐŧ в ĐēĐžĐŊŅиĐŗĐ°Ņ
ĐŊĐ°ŅĐĩĐŗĐž ŅĐ°ĐšŅĐ° ĐžŅĐ´ĐĩĐģŅĐŊŅŅ ĐģĐžĐēĐ°ŅиŅ.
location ~* ^/google_drive/(.+)$ {
# РСаĐēŅĐžĐĩĐŧ ĐĩŅ ĐžŅ ĐŋĐžŅŅĐžŅĐžĐŊĐŊиŅ
ĐŗĐģаС (ŅŅĐē, ĐŊĐžĐŗ и ĐŋŅĐžŅиŅ
ŅĐ°ŅŅĐĩĐš ŅĐĩĐģĐ°).
internal;
# ĐĐŗŅĐ°ĐŊиŅиĐŧ ĐŋĐžĐģŅСОваŅĐĩĐģŅĐŧ ŅĐēĐžŅĐžŅŅŅ Đ´Đž ŅаСŅĐŧĐŊŅŅ
ĐŋŅĐĩĐ´ĐĩĐģОв (Ņ Са ŅавĐŊĐžĐŋŅавиĐĩ).
limit_rate 1m;
# Đ ŅŅОй nginx ĐŧĐžĐŗ ĐŊĐ°ĐšŅи ŅĐĩŅвĐĩŅĐ° google drive ŅĐēĐ°ĐļĐĩĐŧ ĐĩĐŧŅ Đ°Đ´ŅĐĩŅ ŅĐĩСОĐģвĐĩŅĐ°.
resolver 8.8.8.8;
# CОйĐĩŅĐĩĐŧ ĐŋŅŅŅ Đē ĐŊĐ°ŅĐĩĐŧŅ ŅĐ°ĐšĐģŅ (ĐŧŅ ĐŋĐžŅĐžĐŧ ĐŋĐĩŅĐĩдадиĐŧ ĐĩĐŗĐž СаĐŗĐžĐģОвĐēĐ°Đŧи).
set $download_url https://www.googleapis.com/drive/v3/files/$upstream_http_file_id?alt=media;
# Đ ŅĐ°Đē ĐļĐĩ Content-Disposition СаĐŗĐžĐģОвОĐē, иĐŧŅ ŅĐ°ĐšĐģĐ° ĐŧŅ ĐŋĐĩŅĐĩдадиĐŧ ĐžĐŋŅŅŅ ĐļĐĩ в СаĐŗĐžĐģОвĐēĐ°Ņ
.
set $content_disposition 'attachment; filename="$upstream_http_filename"';
# ĐĐ°ĐŋŅĐĩŅиĐŧ ĐąŅŅŅĐĩŅиСиŅОваŅŅ ĐžŅвĐĩŅ ĐŊĐ° диŅĐē.
proxy_max_temp_file_size 0;
# Đ, ŅŅĐž ĐŊĐĩĐŧĐ°ĐģОваĐļĐŊĐž, ĐŋĐĩŅĐĩдадиĐŧ СаĐŗĐžĐģОвОĐē Ņ ŅĐžĐēĐĩĐŊĐžĐŧ (ĐŊĐĩ СĐŊĐ°Ņ ĐŋĐžŅĐĩĐŧŅ, ĐŊĐž в СаĐŗĐžĐģОвĐēĐ°Ņ
иС $http_upstream ŅĐžĐēĐĩĐŊ ĐŋĐĩŅĐĩĐ´Đ°ŅŅ ĐŊĐĩ ĐŋĐžĐģŅŅиĐģĐžŅŅ. ĐĐĩŅĐŊĐĩĐĩ ĐŋĐĩŅĐĩĐ´Đ°ŅŅ ĐŋĐžĐģŅŅиĐģĐžŅŅ, ĐŊĐž ŅĐēĐžŅĐĩĐš вŅĐĩĐŗĐž ĐĩĐŗĐž ĐŗĐ´Đĩ-ŅĐž ĐŊŅĐļĐŊĐž ŅĐēŅĐ°ĐŊиŅОваŅŅ, ĐŋĐžŅĐžĐŧŅ ŅŅĐž ĐŗŅĐŗĐģ ĐžŅĐ´Đ°ĐĩŅ ĐžŅийĐēŅ авŅĐžŅиСаŅии).
proxy_set_header Authorization 'Bearer $1';
# РвŅĐĩ, ĐžŅŅĐ°ĐģĐžŅŅ ĐžŅĐŋŅавиŅŅ СаĐŋŅĐžŅ ĐŗŅĐŗĐģŅ ĐŋĐž ŅĐ°ĐŊĐĩĐĩ ŅОйŅĐ°ĐŊĐŊĐžĐŧŅ ĐŊĐ°Đŧи Đ°Đ´ŅĐĩŅŅ.
proxy_pass $download_url;
# Đ ŅŅОй Ņ ĐŋĐžĐģŅСОваŅĐĩĐģŅ ĐŋŅи ŅĐēĐ°ŅиваĐŊии ĐžŅОйŅаСиĐģĐžŅŅ ĐŋŅавиĐģŅĐŊĐžĐĩ иĐŧŅ ŅĐ°ĐšĐģĐ° ĐŧŅ дОйавиĐŧ ŅООŅвĐĩŅŅŅвŅŅŅиК СаĐŗĐžĐģОвОĐē.
add_header Content-Disposition $content_disposition;
# ĐĐŋŅиОĐŊĐ°ĐģŅĐŊĐž ĐŧĐžĐļĐŊĐž ĐŋĐžŅйиŅĐ°ŅŅ ĐŊĐĩĐŊŅĐļĐŊŅĐĩ ĐŊĐ°Đŧ СаĐŗĐžĐģОвĐēи ĐžŅ ĐŗŅĐŗĐģĐ°.
proxy_hide_header Content-Disposition;
proxy_hide_header Alt-Svc;
proxy_hide_header Expires;
proxy_hide_header Cache-Control;
proxy_hide_header Vary;
proxy_hide_header X-Goog-Hash;
proxy_hide_header X-GUploader-UploadID;
}
āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻāĻžāĻĄāĻŧāĻž āĻāĻāĻāĻŋ āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻ¸ā§āĻĒāĻ¯āĻŧāĻ˛āĻžāĻ° āĻ āĻ§ā§āĻ¨ā§ āĻĻā§āĻāĻž āĻ¯āĻžāĻŦā§
location ~* ^/google_drive/(.+)$ {
internal;
limit_rate 1m;
resolver 8.8.8.8;
set $download_url https://www.googleapis.com/drive/v3/files/$upstream_http_file_id?alt=media;
set $content_disposition 'attachment; filename="$upstream_http_filename"';
proxy_max_temp_file_size 0;
proxy_set_header Authorization 'Bearer $1';
proxy_pass $download_url;
add_header Content-Disposition $content_disposition;
proxy_hide_header Content-Disposition;
proxy_hide_header Alt-Svc;
proxy_hide_header Expires;
proxy_hide_header Cache-Control;
proxy_hide_header Vary;
proxy_hide_header X-Goog-Hash;
proxy_hide_header X-GUploader-UploadID;
}
āĻāĻŽāĻ°āĻž āĻāĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸ā§āĻ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻ˛āĻŋāĻāĻāĻŋ
āĻāĻĻāĻžāĻšāĻ°āĻŖāĻāĻŋ āĻĒāĻŋāĻāĻāĻāĻĒāĻŋ-āĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻāĻā§āĻāĻžāĻā§āĻ¤āĻāĻžāĻŦā§ āĻ¨ā§āĻ¯ā§āĻ¨āĻ¤āĻŽ āĻāĻŋāĻ āĻĻāĻŋāĻ¯āĻŧā§ āĻ˛ā§āĻāĻž āĻšāĻŦā§āĨ¤ āĻāĻŽāĻŋ āĻŽāĻ¨ā§ āĻāĻ°āĻŋ āĻ¯ā§ āĻā§āĻ āĻ¯āĻžāĻ° āĻ āĻ¨ā§āĻ¯ āĻā§āĻ¨ āĻāĻžāĻˇāĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ āĻāĻŋāĻā§āĻāĻ¤āĻž āĻāĻā§ āĻ¤āĻžāĻ°āĻž āĻāĻŽāĻžāĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻ āĻŦāĻŋāĻāĻžāĻāĻāĻŋ āĻ¸āĻāĻšāĻ¤ āĻāĻ°āĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻŦā§āĻ¨āĨ¤
<?php
# ĐĸĐžĐēĐĩĐŊ Đ´ĐģŅ Google Drive Api.
define('TOKEN', '*****');
# ID ŅĐ°ĐšĐģĐ° ĐŊĐ° ĐŗŅĐŗĐģ диŅĐēĐĩ
$fileId = 'abcdefghijklmnopqrstuvwxyz1234567890';
# ĐĐŋŅиОĐŊĐ°ĐģŅĐŊĐž, ĐŊĐž ŅĐ°Đē ĐēĐ°Đē ĐŧŅ ĐŊĐĩ ĐŋĐĩŅĐĩĐ´Đ°ĐĩĐŧ ĐŊиĐēĐ°ĐēиŅ
Đ´Đ°ĐŊĐŊŅŅ
- ĐŋĐžŅĐĩĐŧŅ ĐąŅ и ĐŊĐĩŅ?
http_response_code(204);
# ĐададиĐŧ СаĐŗĐžĐģОвОĐē c ID ŅĐ°ĐšĐģĐ° (в ĐēĐžĐŊŅиĐŗĐ°Ņ
nginx ĐŧŅ ĐŋĐžŅĐžĐŧ ĐŋĐžĐģŅŅиĐŧ ĐĩĐŗĐž ĐēĐ°Đē $upstream_http_file_id).
header('File-Id: ' . $fileId);
# РСаĐŗĐžĐģОвОĐē Ņ иĐŧĐĩĐŊĐĩĐŧ ŅĐ°ĐšĐģĐ° (ŅООŅвĐĩŅŅŅвĐĩĐŊĐŊĐž $upstream_http_filename).
header('Filename: ' . 'test.zip');
# ĐĐŊŅŅŅĐĩĐŊĐŊиК ŅĐĩдиŅĐĩĐēŅ. Đ ĐĩŅĐĩ в Đ°Đ´ŅĐĩŅĐĩ ĐŧŅ ĐŋĐĩŅĐĩдадиĐŧ ŅĐžĐēĐĩĐŊ, ŅĐžŅ ŅĐ°ĐŧŅĐš, ŅŅĐž ĐŧŅ ĐŋĐžĐģŅŅĐ°ĐĩĐŧ иС $1 в nginx.
header('X-Accel-Redirect: ' . rawurlencode('/google_drive/' . TOKEN));
āĻĢāĻ˛āĻžāĻĢāĻ˛
āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻāĻžāĻŦā§, āĻāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻāĻŋ āĻ¯ā§āĻā§āĻ¨ āĻā§āĻ˛āĻžāĻāĻĄ āĻ¸ā§āĻā§āĻ°ā§āĻ āĻĨā§āĻā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻĻā§āĻ° āĻāĻžāĻā§ āĻĢāĻžāĻāĻ˛ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻ¸āĻāĻāĻ āĻŋāĻ¤ āĻāĻ°āĻž āĻŦā§āĻļ āĻ¸āĻšāĻ āĻāĻ°ā§ āĻ¤ā§āĻ˛ā§āĨ¤ āĻšā§āĻ¯āĻžāĻ, āĻāĻŽāĻ¨āĻāĻŋ āĻā§āĻ˛āĻŋāĻā§āĻ°āĻžāĻŽ āĻŦāĻž āĻāĻŋāĻā§ āĻĨā§āĻā§āĻ, (āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻ¯ā§ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻāĻāĻžāĻ° āĻāĻ āĻ¸ā§āĻā§āĻ°ā§āĻā§āĻ° āĻ
āĻ¨ā§āĻŽāĻ¤āĻŋāĻ¯ā§āĻā§āĻ¯ āĻāĻāĻžāĻ°ā§āĻ° āĻŦā§āĻļāĻŋ āĻ¨āĻž āĻšāĻ¯āĻŧ)āĨ¤ āĻāĻŽāĻŋ āĻ
āĻ¨ā§āĻ°ā§āĻĒ āĻāĻāĻāĻŋ āĻ§āĻžāĻ°āĻŖāĻž āĻāĻŋāĻ˛
āĻāĻĒāĻ¨āĻžāĻ° āĻŽāĻ¨ā§āĻ¯ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¨āĻžāĻā§ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻāĨ¤ āĻāĻŽāĻŋ āĻāĻļāĻž āĻāĻ°āĻŋ āĻāĻŽāĻžāĻ° āĻāĻ˛ā§āĻĒ āĻ āĻ¨ā§āĻ¤āĻ¤ āĻāĻāĻā§ āĻāĻāĻ°ā§āĻˇāĻŖā§āĻ¯āĻŧ āĻŦāĻž āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻāĻŋāĻ˛.
āĻāĻ¤ā§āĻ¸: www.habr.com