Request: рдЕрдиреБрд░реЛрдз рдореЙрдбреНрдпреВрд▓ рд╕реЗ HTTPS рдХреЙрд▓ рдХрд░реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 8 рдЬрдире░ 2017  ┬╖  12рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: request/request

рдореИрдВ $#$0$ request https рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдиреАрдЪреЗ рдореМрдЬреВрджрд╛ рдореМрдЬреВрджрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ
рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ pfx рдлрд╝рд╛рдЗрд▓ рдФрд░ password рд╣реИред

strictSSL: false,
rejectUnauthorized: false,
agent: false

рдХреНрдпрд╛ рдХреЛрдИ рдореЗрд░реА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рдХреЛ рд╕рддреНрдп рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛ рдореБрдЭреЗ cert рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рдХреГрдкрдпрд╛ рдЗрд╕рдХреЗ рд▓рд┐рдП openssl рдХрдорд╛рдВрдб рд╕рд╛рдЭрд╛ рдХрд░реЗрдВред

рдореИрдВрдиреЗ cert рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ strictSSL and rejectUnauthorized true рдмрдирд╛рдпрд╛, рд▓реЗрдХрд┐рди рдЕрдВрдд рдореЗрдВ рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реА рд╣реИ

message: 'Error: unable to verify the first certificate'

рдиреЛрдб рд╕рдВрд╕реНрдХрд░рдг 6.9.2 рд╣реИ

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣рд▓ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░реЗрдВ рдХрд┐ SSL рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдорд╛рдиреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рдкреНрд░рдХрд╛рд░ "рд╕рдЦреНрддрдПрд╕рдПрд╕рдПрд▓: рдЭреВрдард╛" рдЬреЛрдбрд╝реЗрдВ:

{  
   url: "https://...",
   method: "POST",
   headers: {
        "Content-Type": "application/json"},
   strictSSL: false
}

рд╕рднреА 12 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдХреНрдпрд╛ рдЖрдкрдиреЗ рд╕реЗрдЯрд┐рдВрдЧ рдХрд░рдХреЗ рдХреЛрд╢рд┐рд╢ рдХреА
process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = '0'

@rpgeeganage рдпрд╣ рдПрдХ рдкрд╕рдВрджреАрджрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред

рдкреВрд░реНрдг рддреНрд░реБрдЯрд┐ рд╕реНрдЯреИрдХ

{ Error: unable to verify the first certificate
    at Error (native)
    at TLSSocket.<anonymous> (_tls_wrap.js:1085:38)
    at emitNone (events.js:86:13)
    at TLSSocket.emit (events.js:185:7)
    at TLSSocket._finishInit (_tls_wrap.js:603:8)
    at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:433:38) code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE' } 'error'

рдореБрдЭреЗ рднреА рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдкрдХреЛ @tomalex0 рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛?

рдЗрд╕ рдкрд░ рдХрд┐рд╕реА рднреА рдЕрджреНрдпрддрди?

рдореИрдВ рднреА рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЖрдпрд╛ рд╣реВрдВред

рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣рд▓ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░реЗрдВ рдХрд┐ SSL рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдорд╛рдиреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рдкреНрд░рдХрд╛рд░ "рд╕рдЦреНрддрдПрд╕рдПрд╕рдПрд▓: рдЭреВрдард╛" рдЬреЛрдбрд╝реЗрдВ:

{  
   url: "https://...",
   method: "POST",
   headers: {
        "Content-Type": "application/json"},
   strictSSL: false
}

рдореЗрд░рд╛ рд╕рд░реНрд╡рд░ рдПрдХ рдирд┐рдЬреА рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рд╣реИ (рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕реЗрд╕ рдирд╣реАрдВ рд╣реИ) рдФрд░ рдЗрд╕реЗ рд╡рд╣рд╛рдВ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдореИрдВрдиреЗ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд┐рдП рдФрд░ рдЕрдкрдиреЗ рд╕реАрдП рдХреЗ рд╕рд╛рде рднрд░реЛрд╕рд╛ рдХрд┐рдпрд╛ ... рдореБрдЭреЗ ca.pem рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝рдиреЗ рдкрд░ рднреА UNABLE_TO_VERIFY_LEAF_SIGNATURE рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ options.agentOptions.ca рдкрд░ред рд╕рдЦреНрддрдПрд╕рдПрд╕рдПрд▓ рд╡рд┐рдХрд▓реНрдк рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╡рд┐рдХрд▓реНрдк рдХреЛ рдЕрдХреНрд╖рдо рдХрд┐рдП рдмрд┐рдирд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, LetsEncrypt рдХреЗ рд╕рд╛рде рдЙрддреНрдкрдиреНрди рдПрдХ SSL рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдиреЛрдб https рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдпрд╛ рдЕрдиреБрд░реЛрдз рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдкреЛрд░реНрдЯ 443 (рдЬреЛ рдореЗрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЧреЛрд▓рдВрдЧ рдШрдЯрдХреЛрдВ рд╕реЗ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреНрд░реЛрдо рдореЗрдВ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ) рдХреЗ рд╕рдорд╛рди рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдиреЛрдб рдХреА https рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдФрд░ рдЕрдиреБрд░реЛрдз рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИред рдореИрдВ рдЕрднреА рднреА рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдпрд╣рд╛рдВ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реЛ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП, рдпреЗ рд░реВрдЯ рд╕реАрдП рд╣реИрдХреНрд╕ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреБрд░рд╛рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рд╣рд╛рд▓ рдХреА рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реИред рдЖрдЧреЗ рдХреЛрдИ рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рдЗрд╕реЗ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЖрдкрдХреЗ рдпреЛрдЧрджрд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдХреЛрдИ рднреА рдЗрддрдирд╛ рдХрд░реАрдм рд╕реЗ рдЗрд╕рдХрд╛ рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдФрд░ рджрд┐рдЦрд╛рд╡рд╛ рдХрд░реЗрдЧрд╛ рдХрд┐ рдРрд╕рд╛ рдХрднреА рдирд╣реАрдВ рд╣реЛрдЧрд╛?
рдореЗрд░рд╛ рдпреВрдЖрд░рдПрд▓ рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд╕рд╛рде рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рд▓реЗрдХрд┐рди "request.js" рдирд╣реАрдВ

рдореБрдЭреЗ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рдереАред рд╕рдЦреНрддрдПрд╕рдПрд╕рдПрд▓ рдХреЛ рдЧрд▓рдд рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдХреЗ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛, рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ред
рд╡рд░ рдХреНрд▓рд╛рдЗрдВрдЯ = рдирдпрд╛ рд░реЗрд╕реНрдЯ рдХреНрд▓рд╛рдЗрдВрдЯ ({
рдХрдиреЗрдХреНрд╢рди: {
pfx: fs.readFileSync (рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯрдлрд╛рдЗрд▓),
рдкрд╛рд╕рдлрд╝реНрд░реЗрдЬрд╝: рд╕рд░реНрдЯрд┐рдлрд╝рд┐рдХреЗрдЯ рдкрд╛рд╕рд╡рд░реНрдб,
рд╕рдЦреНрддрдПрд╕рдПрд╕рдПрд▓: рдЭреВрдард╛,
рдЕрд╕реНрд╡реАрдХрд╛рд░ рдЕрдирдзрд┐рдХреГрдд: рдЭреВрдард╛,
рдПрдЬреЗрдВрдЯ: рдЭреВрдард╛
}
});

рдореИрдВ рдЕрдкрдиреЗ рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рдиреЛрдб рд░реЗрд╕реНрдЯ рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреЛ рднреА рдЗрд╕реА рддрд░рд╣ рдХреЗ рдлрд┐рдХреНрд╕ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ

рдЗрд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗ:
рд╡рд░ рдЕрдиреБрд░реЛрдз = рдЖрд╡рд╢реНрдпрдХрддрд╛ ("рдЕрдиреБрд░реЛрдз")ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ ({рдЕрд╕реНрд╡реАрдХрд╛рд░ рдЕрдирдзрд┐рдХреГрдд: рдЭреВрдард╛});

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

ghost picture ghost  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

matrosov-nikita picture matrosov-nikita  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

victor0402 picture victor0402  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jasonxia23 picture jasonxia23  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

crostine picture crostine  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ