NGINX āĻ‡āĻ‰āĻ¨āĻŋāĻŸ 1.9.0 āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ°āĻŋāĻ˛āĻŋāĻœ

āĻ¸ā§āĻĨāĻžāĻ¨ āĻĻāĻ–āĻ˛ āĻ•āĻ°ā§‡āĻ›ā§‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ°āĻŋāĻ˛āĻŋāĻœ NGINX āĻ‡āĻ‰āĻ¨āĻŋāĻŸ 1.9, āĻ¯āĻž āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚ āĻ­āĻžāĻˇāĻžāĻ¯āĻŧ (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js āĻāĻŦāĻ‚ Java) āĻ“āĻ¯āĻŧā§‡āĻŦ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻž āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĨ¤ āĻāĻ¨āĻœāĻŋāĻ†āĻ‡āĻāĻ¨āĻāĻ•ā§āĻ¸ āĻ‡āĻ‰āĻ¨āĻŋāĻŸā§‡āĻ° āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖā§‡, āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚ āĻ­āĻžāĻˇāĻžāĻ¯āĻŧ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻāĻ•āĻ¸āĻžāĻĨā§‡ āĻšāĻ˛āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¯āĻžāĻ° āĻ˛āĻžā§āĻš āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻāĻŦāĻ‚ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻ—āĻ¤āĻŋāĻļā§€āĻ˛āĻ­āĻžāĻŦā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ¸āĻŋ āĻ­āĻžāĻˇāĻžāĻ¯āĻŧ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦāĻŋāĻ¤āĻ°āĻŖ Apache 2.0 āĻāĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻ˛āĻžāĻ‡āĻ¸ā§‡āĻ¨ā§āĻ¸āĻĒā§āĻ°āĻžāĻĒā§āĻ¤āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ¨āĻœāĻŋāĻ†āĻ‡āĻāĻ¨āĻāĻ•ā§āĻ¸ āĻ‡āĻ‰āĻ¨āĻŋāĻŸā§‡āĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ˜ā§‹āĻˇāĻŖāĻž āĻĒā§āĻ°āĻĨāĻŽ āĻ°āĻŋāĻ˛āĻŋāĻœ.

āĻ¨āĻ¤ā§āĻ¨ āĻŦāĻŋāĻļā§āĻŦā§‡:

  • āĻ¸ā§āĻ¯ā§‹āĻ— ĐŧĐ°Ņ€ŅˆŅ€ŅƒŅ‚иСаŅ†Đ¸Đ¸ СаĐŋŅ€ĐžŅĐžĐ˛ ĐŋĐž Đ°Ņ€ĐŗŅƒĐŧĐĩĐŊŅ‚Đ°Đŧ URI, СаĐŗĐžĐģОвĐēĐ°Đŧ и Cookie;

    ÂĢheadersÂģ: [
    {
    ÂĢAccept-EncodingÂģ: ÂĢ*gzip*Âģ,
    ÂĢUser-AgentÂģ: ÂĢMozilla/5.0*Âģ
    },
    {
    ÂĢUser-AgentÂģ: ÂĢcurl*Âģ
    }
    ]

  • В ŅˆĐ°ĐąĐģĐžĐŊĐ°Ņ… ŅĐžĐŋĐžŅŅ‚авĐģĐĩĐŊиŅ ĐŧĐ°Ņ€ŅˆŅ€ŅƒŅ‚Ов Ņ€ĐĩĐ°ĐģиСОваĐŊĐ° ĐŋОддĐĩŅ€ĐļĐēĐ° ĐŧĐ°ŅĐžĐē в ŅĐĩŅ€ĐĩдиĐŊĐĩ вŅ‹Ņ€Đ°ĐļĐĩĐŊиŅ. НаĐŋŅ€Đ¸ĐŧĐĩŅ€,

    ÂĢhostÂģ: [ÂĢeu-*.example.comÂģ, ÂĢ!eu-5.example.comÂģ]

  • āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ ĐžĐŋĐĩŅ€Đ°Ņ†Đ¸Đš, ĐžŅ‚ĐŋŅ€Đ°Đ˛ĐģŅĐĩĐŧŅ‹Ņ… Ņ иŅĐŋĐžĐģŅŒĐˇĐžĐ˛Đ°ĐŊиĐĩĐŧ ĐŧĐĩŅ‚Ода POST, Đ´ĐģŅ ĐŧĐ°ĐŊиĐŋŅƒĐģŅŅ†Đ¸Đ¸ ŅĐžĐ´ĐĩŅ€ĐļиĐŧŅ‹Đŧ ĐŧĐ°ŅŅĐ¸Đ˛ĐžĐ˛ в ĐēĐžĐŊŅ„иĐŗŅƒŅ€Đ°Ņ†Đ¸Đ¸ (иСĐŧĐĩĐŊĐĩĐŊиŅ ĐŋĐĩŅ€ĐĩĐ´Đ°ŅŽŅ‚ŅŅ в Ņ„ĐžŅ€ĐŧĐ°Ņ‚Đĩ JSON);

    curl -X POST -d ‘{ÂĢmatchÂģ: {ÂĢuriÂģ: ÂĢ/production/*Âģ}, \
    ÂĢactionÂģ: {ÂĢpassÂģ: ÂĢapplications/wiki-prodÂģ}}’ \
    —unix-socket=/path/to/control.unit.sock \
    http://localhost/config/routes/

  • ПоддĐĩŅ€ĐļĐēĐ° ŅĐŧĐĩĐŊŅ‹ ĐŋĐžĐģŅŒĐˇĐžĐ˛Đ°Ņ‚ĐĩĐģŅ и ĐŗŅ€ŅƒĐŋĐŋŅ‹ ĐŋŅ€Đ¸ ĐŋĐžĐŧĐžŅ‰Đ¸ capabilities CAP_SETUID и CAP_SETGID в Linux ĐąĐĩС вŅ‹ĐŋĐžĐģĐŊĐĩĐŊиŅ ĐžŅĐŊОвĐŊĐžĐŗĐž ĐŋŅ€ĐžŅ†ĐĩŅŅĐ° ĐŋОд ĐŋŅ€Đ¸Đ˛Đ¸ĐģĐĩĐŗиŅ€ĐžĐ˛Đ°ĐŊĐŊŅ‹Đŧ ĐŋĐžĐģŅŒĐˇĐžĐ˛Đ°Ņ‚ĐĩĐģĐĩĐŧ.

āĻ‰āĻ¤ā§āĻ¸: opennet.ru

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨