NGINX เจฏเฉ‚เจจเจฟเจŸ 1.9.0 เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจธเจฐเจตเจฐ เจฐเฉ€เจฒเฉ€เจœเจผ

เจนเฉ‹เจ‡เจ† เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจธเจฐเจตเจฐ เจฐเฉ€เจฒเฉ€เจœเจผ NGINX เจฏเฉ‚เจจเจฟเจŸ 1.9, เจœเจฟเจธ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจตเฉฑเจ–-เจตเฉฑเจ– เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพเจตเจพเจ‚ (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js เจ…เจคเฉ‡ Java) เจตเจฟเฉฑเจš เจตเฉˆเจฌ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจฆเฉ€ เจธเจผเฉเจฐเฉ‚เจ†เจค เจจเฉ‚เฉฐ เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจ‡เฉฑเจ• เจนเฉฑเจฒ เจตเจฟเจ•เจธเจฟเจค เจ•เฉ€เจคเจพ เจœเจพ เจฐเจฟเจนเจพ เจนเฉˆเฅค NGINX เจฏเฉ‚เจจเจฟเจŸ เจ‡เฉฑเจ•เฉ‹ เจธเจฎเฉ‡เจ‚ เจตเฉฑเจ–-เจตเฉฑเจ– เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพเจตเจพเจ‚ เจตเจฟเฉฑเจš เจ•เจˆ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจšเจฒเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจœเจฟเจธ เจฆเฉ‡ เจฒเจพเจ‚เจš เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจธเฉฐเจฐเจšเจจเจพ เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจธเฉฐเจชเจพเจฆเจฟเจค เจ•เจฐเจจ เจ…เจคเฉ‡ เจฎเฉเฉœ เจšเจพเจฒเฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจฌเจฆเจฒเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ•เฉ‹เจก C เจ…เจคเฉ‡ เจตเจฟเฉฑเจš เจฒเจฟเจ–เจฟเจ† เจ—เจฟเจ† เจนเฉˆ เจฆเฉเจ†เจฐเจพ เจตเฉฐเจกเจฟเจ† เจ…เจชเจพเจšเฉ‡ 2.0 เจฆเฉ‡ เจ…เจงเฉ€เจจ เจฒเจพเจ‡เจธเฉฐเจธเจธเจผเฉเจฆเจพเฅค เจตเจฟเฉฑเจš NGINX เจฏเฉ‚เจจเจฟเจŸ เจฆเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจคเฉ‹เจ‚ เจœเจพเจฃเฉ‚ เจนเฉ‹ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ˜เฉ‹เจธเจผเจฃเจพ เจชเจนเจฟเจฒเจพ เจฎเฉเฉฑเจฆเจพ.

เจจเจตเฉ‡เจ‚ เจธเฉฐเจธเจ•เจฐเจฃ เจตเจฟเฉฑเจš:

  • เจฎเฉŒเจ•เจพ URI เจ†เจฐเจ—เฉ‚เจฎเฉˆเจ‚เจŸเจพเจ‚, เจธเจฟเจฐเจฒเฉ‡เจ–เจพเจ‚ เจ…เจคเฉ‡ เจ•เฉ‚เจ•เฉ€เจœเจผ เจฆเฉ‡ เจ†เจงเจพเจฐ 'เจคเฉ‡ เจฐเจพเจŠเจŸเจฟเฉฐเจ— เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚;

    "เจธเจฟเจฐเจฒเฉ‡เจ–": [
    {
    "Accept-Encoding": "*gzip*",
    "เจฏเฉ‚เจœเจผเจฐ-เจเจœเฉฐเจŸ": "เจฎเฉ‹เจœเจผเฉ€เจฒเจพ/5.0*"
    },
    {
    "เจฏเฉ‚เจœเจผเจฐ-เจเจœเฉฐเจŸ": "เจ•เจฐเจฒ*"
    }
    ]

  • เจฐเฉ‚เจŸ เจฎเฉˆเจšเจฟเฉฐเจ— เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸเจธ เจนเฉเจฃ เจฎเจฟเจก-เจเจ•เจธเจชเฉเจฐเฉ‡เจธเจผเจจ เจฎเจพเจธเจ• เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค เจ‰เจฆเจพเจนเจฐเจฃ เจฒเจˆ,

    "เจนเฉ‹เจธเจŸ": ["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/

  • เจ‡เฉฑเจ• เจตเจฟเจธเจผเฉ‡เจธเจผ เจ…เจงเจฟเจ•เจพเจฐ เจชเฉเจฐเจพเจชเจค เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจตเจœเฉ‹เจ‚ เจฎเฉเฉฑเจ– เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจšเจฒเจพเจ เจฌเจฟเจจเจพเจ‚ เจฒเฉ€เจจเจ•เจธ เจตเจฟเฉฑเจš เจธเจฎเจฐเฉฑเจฅเจพ CAP_SETUID เจ…เจคเฉ‡ CAP_SETGID เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจ…เจคเฉ‡ เจธเจฎเฉ‚เจน เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจฒเจˆ เจธเจฎเจฐเจฅเจจเฅค

เจธเจฐเฉ‹เจค: opennet.ru

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹