1"use strict";(self.webpackChunkblurblah_github_io=self.webpackChunkblurblah_github_io||[]).push([[167],{88701:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>i,contentTitle:()=>l,default:()=>c,frontMatter:()=>n,metadata:()=>p,toc:()=>o});var t=r(74848),a=r(28453);const n={title:"Release\ub41c android app\uc5d0\uc11c HTTPS request\uc2dc \ubc1c\uc0dd\ud55c \ubb38\uc81c",date:"2014-04-23",categories:["server"],tags:["ajax","android","debuggable","https","phonegap","request","response","ssl","\ubb38\uc81c"],coverImage:"ssl_check.png"},l=void 0,p={permalink:"/2014/04/23/wp/release\ub41c-android-app\uc5d0\uc11c-https-request\uc2dc-\ubc1c\uc0dd\ud55c-\ubb38\uc81c",source:"@site/blog/wp/2014-04-23-release\ub41c-android-app\uc5d0\uc11c-https-request\uc2dc-\ubc1c\uc0dd\ud55c-\ubb38\uc81c.md",title:"Release\ub41c android app\uc5d0\uc11c HTTPS request\uc2dc \ubc1c\uc0dd\ud55c \ubb38\uc81c",description:"\uc544\ub798\uc640 \uac19\uc740 \ub2e8\uc21c\ud55c \uad6c\uc870\ub97c \uac00\uc9c4 service\uc5d0\uc11c android app (Phonegap)\uc774 AJAX\ub85c API server\uc640 SSL \ud1b5\uc2e0\uc744 \ud558\uace0 \uc788\ub2e4. SSL \uc124\uc815\uc740 reverse proxy \uc5ed\ud560\uc744 \ud558\ub294 NginX\uc5d0 \ub418\uc5b4 \uc788\ub294 \uc0c1\ud0dc\uc600\ub294\ub370 \uac1c\ubc1c\ub2e8\uacc4\uc5d0\uc11c\ub294 \ub098\ud0c0\ub098\uc9c0 \uc54a\uc558\ub358 \ubb38\uc81c\uac00 app publish \uc774\ud6c4\uc5d0 \ubc1c\uc0dd\ud574\uc11c \ud604\uc0c1\uacfc \ud574\uacb0\ucc45\uc744 \uc815\ub9ac\ud574\ubcf8\ub2e4.",date:"2014-04-23T00:00:00.000Z",formattedDate:"April 23, 2014",tags:[{label:"ajax",permalink:"/tags/ajax"},{label:"android",permalink:"/tags/android"},{label:"debuggable",permalink:"/tags/debuggable"},{label:"https",permalink:"/tags/https"},{label:"phonegap",permalink:"/tags/phonegap"},{label:"request",permalink:"/tags/request"},{label:"response",permalink:"/tags/response"},{label:"ssl",permalink:"/tags/ssl"},{label:"\ubb38\uc81c",permalink:"/tags/\ubb38\uc81c"}],readingTime:3.725,hasTruncateMarker:!1,authors:[],frontMatter:{title:"Release\ub41c android app\uc5d0\uc11c HTTPS request\uc2dc \ubc1c\uc0dd\ud55c \ubb38\uc81c",date:"2014-04-23",categories:["server"],tags:["ajax","android","debuggable","https","phonegap","request","response","ssl","\ubb38\uc81c"],coverImage:"ssl_check.png"},unlisted:!1,prevItem:{title:"Random number\uc640 \uac00\uc911\uce58\ub97c \uace0\ub824\ud55c \ucd94\ucca8\uae30\ub2a5 \uad6c\ud604\ud558\uae30",permalink:"/2014/05/14/wp/random-number\uc640-\uac00\uc911\uce58\ub97c-\uace0\ub824\ud55c-\ucd94\ucca8\uae30\ub2a5-\uad6c\ud604\ud558\uae30"},nextItem:{title:"Raspberry pi \ubb34\uc791\uc815 \uc0ac\uc6a9\ud574\ubcf4\uae30",permalink:"/2014/03/23/wp/raspberry-pi-\ubb34\uc791\uc815-\uc0ac\uc6a9\ud574\ubcf4\uae30"}},i={authorsImageUrls:[]},o=[];function d(e){const s={a:"a",img:"img",p:"p",strong:"strong",...(0,a.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:"\uc544\ub798\uc640 \uac19\uc740 \ub2e8\uc21c\ud55c \uad6c\uc870\ub97c \uac00\uc9c4 service\uc5d0\uc11c android app (Phonegap)\uc774 AJAX\ub85c API server\uc640 SSL \ud1b5\uc2e0\uc744 \ud558\uace0 \uc788\ub2e4. SSL \uc124\uc815\uc740 reverse proxy \uc5ed\ud560\uc744 \ud558\ub294 NginX\uc5d0 \ub418\uc5b4 \uc788\ub294 \uc0c1\ud0dc\uc600\ub294\ub370 \uac1c\ubc1c\ub2e8\uacc4\uc5d0\uc11c\ub294 \ub098\ud0c0\ub098\uc9c0 \uc54a\uc558\ub358 \ubb38\uc81c\uac00 app publish \uc774\ud6c4\uc5d0 \ubc1c\uc0dd\ud574\uc11c \ud604\uc0c1\uacfc \ud574\uacb0\ucc45\uc744 \uc815\ub9ac\ud574\ubcf8\ub2e4."}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://blurblah.net/wp-content/uploads/2014/04/android_ssl.jpg",children:(0,t.jsx)(s.img,{alt:"android_ssl",src:r(93226).A+"",width:"960",height:"406"})})}),"\n",(0,t.jsx)(s.p,{children:"\xa0"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"1. \ud604\uc0c1"})}),"\n",(0,t.jsx)(s.p,{children:"App\uc5d0\uc11c API call\uc744 \ud588\ub294\ub370\ub3c4 \uc624\ub958\ub098 \uc815\uc0c1 \uc751\ub2f5\uc774 \ub5a8\uc5b4\uc9c0\uc9c0 \uc54a\ub294\ub2e4. API server \ucabd\uc5d0\uc11c \ub85c\uadf8\ub97c \ud655\uc778\ud574\ubcf4\ub2c8 \ud638\ucd9c\ub41c \uae30\ub85d\uc774 \uc5c6\ub2e4. \uc804\ud600 \ud638\ucd9c\ub418\uc9c0 \uc54a\ub294\ub2e4\uace0 \ud310\ub2e8\ud560 \uc218 \uc788\uc5c8\ub2e4. \ud639\uc2dc\ub098 \uc2f6\uc5b4\uc11c NginX\uc758 \ub85c\uadf8\ub3c4 \ud655\uc778\ud574\ubd24\ub294\ub370 access \uc790\uccb4\ub97c \ud558\uc9c0 \uc54a\ub294 \uac83\uc73c\ub85c \ubcf4\uc600\ub2e4. (\ud638\ucd9c \ud6c4 access log, error log \ubaa8\ub450 \uae30\ub85d\ub418\ub294\uac8c \uc5c6\uc74c)"}),"\n",(0,t.jsx)(s.p,{children:"\ub450\ubc88\uc9f8 \uc774\uc0c1\ud55c \ud604\uc0c1\uc740 android app\uc758 manifest\uc5d0\uc11c debuggable \uc124\uc815\uc5d0 \ub530\ub77c API \ud638\ucd9c\uc774 \ub418\uac70\ub098 \ub418\uc9c0 \uc54a\ub294\ub2e4\ub294 \uc0ac\uc2e4\uc774\uc5c8\ub2e4. debuggable\uc774 true (debug mode)\uc778 \uacbd\uc6b0\uc5d0\ub294 API \ud638\ucd9c\uc5d0 \ubb38\uc81c\uac00 \uc5c6\uc5c8\ub294\ub370 publish\ub97c \uc704\ud574 packaging \ud558\ub824\uace0 debuggable\uc744 false\ub85c \ubc14\uafb8\uba74 \ud638\ucd9c\uc774 \ubd88\uac00\ub2a5\ud588\ub2e4."}),"\n",(0,t.jsx)(s.p,{children:"\xa0"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"2. \uc870\uc0ac"})}),"\n",(0,t.jsxs)(s.p,{children:["Stackoverflow\uc5d0\uc11c \ud78c\ud2b8\ub97c \ucc3e\uc558\ub294\ub370 \uc790\ubb38\uc790\ub2f5\ud55c \uc0ac\uc6a9\uc790\uc758 \uc598\uae30\ub85c\ub294 android app\uc758 debug mode\uc5d0\uc11c\ub294 \uc778\uc99d\uc11c \ud655\uc778\uc744 \ud558\uc9c0 \uc54a\ub294\ub370 \uadf8\ub807\uc9c0 \uc54a\uc740 \uacbd\uc6b0 SSL \uc778\uc99d\uc11c\ub97c \uc5c4\uaca9\ud558\uac8c \uac80\uc0ac\ud55c\ub2e4\uace0 \ud55c\ub2e4. (",(0,t.jsx)(s.a,{href:"http://developer.android.com/reference/android/os/StrictMode.html",children:"http://stackoverflow.com/questions/14363994/android-debuggable-false-causing-jquery-ajax-post-to-fail-in-cordova-phonegap-ec"}),") \uadf8\ub798\uc11c \ub9c1\ud06c\ub41c ",(0,t.jsx)(s.a,{href:"https://www.geocerts.com/ssl_checker",children:"ssl checker"}),"\ub85c API service\ub418\ub294 url (NginX\uac00 \ucc98\uc74c \ubc1b\ub294 url)\uc744 \uac80\uc0ac\ud574\ubd24\ub354\ub2c8 \ub2e4\ub978\uac74 \ubb38\uc81c\uac00 \uc5c6\uc5c8\ub294\ub370 \uc778\uc99d\uc11c \uccb4\uc778\uc774 \uc81c\ub300\ub85c \ub418\uc5b4\uc788\uc9c0 \uc54a\uc558\ub2e4. Root CA \uc778\uc99d\uc11c\uac00 \uc5c6\ub2e4\ub294 \ub0b4\uc6a9\uc758 \uba54\uc138\uc9c0\uc640 \ud568\uaed8."]}),"\n",(0,t.jsx)(s.p,{children:"\xa0"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"3. \ud574\uacb0"})}),"\n",(0,t.jsxs)(s.p,{children:["Startssl\uc5d0\uc11c \uc778\uc99d\uc11c\ub97c \ubc1c\uae09\ubc1b\uc544 \uc0ac\uc6a9\ud558\uace0 \uc788\uc5c8\ub294\ub370 \uc0dd\uac01\ud574\ubcf4\ub2c8 \ub3
1c4\uba54\uc778\uc5d0 \ub300\ud55c \uc778\uc99d\uc11c\uc640 \uadf8\uc5d0 \ub9de\ub294 private key\ub294 \ubc1c\uae09\ubc1b\uc558\ub294\ub370 startssl(CA)\uc5d0 \ub300\ud55c \uc778\uc99d\uc11c\ub294 \uc5c6\uc5c8\ub2e4. Startssl\uc5d0\uc11c \uc548\ub0b4\ud558\ub294\ub300\ub85c\xa0ca.pem, sub.class1.server.ca.pem\uc744 \ucd94\uac00\ub85c(\ub0b4\uac00 \uc0ac\uc6a9\ud558\ub294\uac8c startssl\uc758 class1 certificate) \ubc1b\uc544\uc11c \uae30\uc874\uc758 \uc778\uc99d\uc11c\ub97c \ud569\uccd0 \uc778\uc99d\uc11c \uccb4\uc778\uc744 \ub9cc\ub4e4\uace0 NginX\uc5d0 \uc124\uc815\ud588\ub2e4.\xa0(",(0,t.jsx)(s.a,{href:"https://www.startssl.com/?app=42",children:"https://www.startssl.com/?app=42"}),")"]}),"\n",(0,t.jsx)(s.p,{children:"\uc124\uc815 \uc774\ud6c4\uc5d0 \ub2e4\uc2dc SSL \uac80\uc0ac\ub97c \ud574\ubcf4\ub2c8 \uc544\ub798\ucc98\ub7fc \ubb38\uc81c\uc788\ub358 \ubd80\ubd84\uc774 \uc815\uc0c1. Android app\ub3c4 \uc218\uc815\uc5c6\uc774 \uc81c\ub300\ub85c \ud638\ucd9c\ub418\ub294 \uac78 \ud655\uc778\ud588\ub2e4."}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://blurblah.net/wp-content/uploads/2014/04/ssl_check.png",children:(0,t.jsx)(s.img,{alt:"ssl_check",src:r(25415).A+"",width:"704",height:"554"})})}),"\n",(0,t.jsx)(s.p,{children:"\xa0"}),"\n",(0,t.jsx)(s.p,{children:"\xa0"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"4. \uacb0\ub860"})}),"\n",(0,t.jsxs)(s.p,{children:["\ub098\uc758 \uacbd\uc6b0\uc5d4 CA\uc758 \uc778\uc99d\uc11c \ud558\ub098\ub97c \ub204\ub77d\ud55c \uacbd\uc6b0\uc9c0\ub9cc \uac1c\ubc1c\ud560 \ub54c self sign\ub41c \uc778\uc99d\uc11c\ub97c \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0\ub3c4 \uc788\ub294\ub370 \uc774 \uacbd\uc6b0\uc5d0\ub3c4 publish \ud560 \ub54c\uc5d0\ub294 \ubc18\ub4dc\uc2dc \uad50\uccb4\ud574\uc57c \ud55c\ub2e4. \uc774 \ubd80\ubd84\uc740 \uc0ac\uc2e4\xa0\uac1c\ubc1c\ud560 \ub54c \ubb38\uc81c\uac00 \uc5c6\uc5c8\uae30 \ub54c\ubb38\uc5d0 \uac04\uacfc\ud558\uace0 \ub118\uc5b4\uac00\uae30 \uc26c\uc6b4 \ubd80\ubd84\uc778\ub370 publish \uc774\uc804\uc5d0 packaging \ud574\uc11c \ud55c \ubc88 \ud655\uc778\uc740 \ud574\ubd10\uc57c \ud560 \uac83 \uac19\ub2e4. \uc544\ub2c8\uba74 Android developer site\uc5d0\uc11c \ubc1c\uacac\ud55c\xa0StrictMode class\ub97c \uc774\uc6a9\ud558\ub294 \uac83\ub3c4 \ubc29\ubc95\uc774 \ub420 \uc218 \uc788\uc744 \uac83 \uac19\ub2e4. (",(0,t.jsx)(s.a,{href:"http://developer.android.com/reference/android/os/StrictMode.html",children:"http://developer.android.com/reference/android/os/StrictMode.html"}),")"]})]})}function c(e={}){const{wrapper:s}={...(0,a.R)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},93226:(e,s,r)=>{r.d(s,{A:()=>t});const t=r.p+"assets/images/android_ssl-7158bc43265dfa66f0c2e56b905d61bf.jpg"},25415:(e,s,r)=>{r.d(s,{A:()=>t});const t=r.p+"assets/images/ssl_check-5b6af60d8b87b4994b1569ddd3f64660.png"},28453:(e,s,r)=>{r.d(s,{R:()=>l,x:()=>p});var t=r(96540);const a={},n=t.createContext(a);function l(e){const s=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function p(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:l(e.components),t.createElement(n.Provider,{value:s},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.