{"id":1059,"date":"2017-03-25T11:45:08","date_gmt":"2017-03-25T11:45:08","guid":{"rendered":"https:\/\/zaf.web.id\/blog\/?p=1059"},"modified":"2017-03-25T12:13:01","modified_gmt":"2017-03-25T12:13:01","slug":"menambahkan-sertifikat-ssl-untuk-curl-di-php","status":"publish","type":"post","link":"https:\/\/zaf.web.id\/blog\/menambahkan-sertifikat-ssl-untuk-curl-di-php\/","title":{"rendered":"Menambahkan sertifikat SSL untuk cURL di PHP"},"content":{"rendered":"<figure id=\"attachment_1060\" aria-describedby=\"caption-attachment-1060\" style=\"width: 116px\" class=\"wp-caption alignright\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\" wp-image-1060\" src=\"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2017\/03\/ssl-certificate.png?resize=116%2C96&#038;ssl=1\" alt=\"SSL Certificate Logo\" width=\"116\" height=\"96\" \/><figcaption id=\"caption-attachment-1060\" class=\"wp-caption-text\">SSL Certificate Logo<\/figcaption><\/figure>\n<p>Sejak PHP versi 5.6\u00a0autentikasi <em>SSL<\/em> terhadap akses <em>cURL<\/em> (<code>CURLOPT_SSL_VERIFYPEER<\/code>) <em>default<\/em> menjadi <code>TRUE<\/code>. Hal ini mengakibatkan\u00a0ketika menggunakan fungsi <code>file_get_contents()<\/code> selalu melakukan\u00a0validasi sertifikat SSL terhadap <em>URL<\/em> tujuan yang menggunakan protokol <em>SSL.<\/em> Meskipun <em>URL<\/em> tujuan telah terinstall sertifikat <em>SSL<\/em> yang <em>valid,<\/em> namun\u00a0<em>cURL<\/em> tidak dapat membuktikan validitas <em>SSL<\/em> jika belum memiliki dokumen pembanding sendiri (<em>CA certs list<\/em>).<\/p>\n<p>Hari ini kebetulan saya juga mengalami masalah yang sama, ketika memasang <a href=\"http:\/\/www.webuzo.com\/wiki\/Install\" target=\"_blank\"><em>webuzo<\/em><\/a> di <em>server<\/em> yang baru. Tidak lama setelah konfigurasi telah selesai dilakukan saya baru sadar kalau beberapa fungsionalitas <em>website<\/em> tidak bekerja seperti biasanya. Setelah memeriksa berkas <code>log<\/code> saya mendapati pesan <em>warning<\/em> sebagai berikut:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">PHP Warning:\u00a0 file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages:\r\nerror:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in \/home\/user\/public_html\/script.php on line\u00a01\r\nPHP Warning:\u00a0 file_get_contents(): Failed to enable crypto in\/home\/user\/public_html\/script.php on line\u00a01\r\nPHP Warning:\u00a0 file_get_contents(https:\/\/domain.com\/index.html): failed to open stream: operation failed in\/home\/user\/public_html\/script.php on line\u00a01<\/pre>\n<p><!--more-->Padahal saya bisa pastikan sertifikat <em>SSL<\/em> digunakan <em>URL<\/em> tujuan memang benar-benar <em>valid.<\/em> Setelah melakukan pencarian beberapa\u00a0orang lebih suka menyarankan untuk\u00a0<a href=\"http:\/\/stackoverflow.com\/a\/38923262\/1412798\" target=\"_blank\">men-disable validasi SSL<\/a> ketika melakukan <em>request,<\/em> namun ternyata hal tersebut <a href=\"http:\/\/phpsecurity.readthedocs.org\/en\/latest\/_articles\/PHP-Security-Default-Vulnerabilities-Security-Omissions-And-Framing-Programmers.html\" target=\"_blank\">cukup berbahaya<\/a>.<\/p>\n<p>Akhirnya saya menemukan sumber yang menyarankan untuk menambahkan sertifikat <em>CA<\/em> dari <a href=\"http:\/\/curl.haxx.se\/docs\/caextract.html\" target=\"_blank\"><em>website<\/em> resmi <em>cURL<\/em><\/a> untuk\u00a0dikonfigurasi dengan <em>PHP.<\/em> Caranya adalah dengan men-<em>download<\/em> <code>certs-yyyy-mm-dd.pem<\/code> ke <em>server,<\/em> buka <code>php.ini<\/code> dan tambahkan konfigurasi berikut:<\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">openssl.cafile=\/path\/to\/certs\/cacert-yyyy-mm-dd.pem<\/pre>\n<p>Kemudian <em>restart<\/em> <code>apache<\/code>, jika berhasil seharusnya di <code>phpinfo()<\/code> akan muncul\u00a0sertifikat <em>SSL<\/em> akan muncul di konfigurasi <code>openssl<\/code> <em>PHP<\/em>.<\/p>\n<figure id=\"attachment_1062\" aria-describedby=\"caption-attachment-1062\" style=\"width: 660px\" class=\"wp-caption aligncenter\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-1062\" src=\"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2017\/03\/Screen-Shot-2017-03-25-at-6.09.33-PM.png?resize=660%2C167&#038;ssl=1\" alt=\"CA File\" width=\"660\" height=\"167\" srcset=\"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2017\/03\/Screen-Shot-2017-03-25-at-6.09.33-PM.png?resize=1024%2C259&amp;ssl=1 1024w, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2017\/03\/Screen-Shot-2017-03-25-at-6.09.33-PM.png?resize=300%2C76&amp;ssl=1 300w, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2017\/03\/Screen-Shot-2017-03-25-at-6.09.33-PM.png?resize=768%2C194&amp;ssl=1 768w, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2017\/03\/Screen-Shot-2017-03-25-at-6.09.33-PM.png?resize=619%2C156&amp;ssl=1 619w, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2017\/03\/Screen-Shot-2017-03-25-at-6.09.33-PM.png?w=1908&amp;ssl=1 1908w\" sizes=\"auto, (max-width: 660px) 100vw, 660px\" \/><figcaption id=\"caption-attachment-1062\" class=\"wp-caption-text\">CA File<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Sejak PHP versi 5.6\u00a0autentikasi SSL terhadap akses cURL (CURLOPT_SSL_VERIFYPEER) default menjadi TRUE. Hal ini mengakibatkan\u00a0ketika&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":true,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[58],"tags":[209,210],"class_list":["post-1059","post","type-post","status-publish","format-standard","hentry","category-server","tag-ca-certs-php","tag-file_get_contents"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Menambahkan sertifikat SSL untuk cURL di PHP - Ahmad Zafrullah<\/title>\n<meta name=\"description\" content=\"Konfigurasi sertifikat SSL dengan men-download file certs*.pem dari website resmi cURL, tambahkan di cert path openssl untuk PHP, restart apache.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/zaf.web.id\/blog\/menambahkan-sertifikat-ssl-untuk-curl-di-php\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Menambahkan sertifikat SSL untuk cURL di PHP - Ahmad Zafrullah\" \/>\n<meta property=\"og:description\" content=\"Konfigurasi sertifikat SSL dengan men-download file certs*.pem dari website resmi cURL, tambahkan di cert path openssl untuk PHP, restart apache.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zaf.web.id\/blog\/menambahkan-sertifikat-ssl-untuk-curl-di-php\/\" \/>\n<meta property=\"og:site_name\" content=\"Ahmad Zafrullah\" \/>\n<meta property=\"article:publisher\" content=\"http:\/\/www.facebook.com\/23Pstars\" \/>\n<meta property=\"article:author\" content=\"http:\/\/www.facebook.com\/23Pstars\" \/>\n<meta property=\"article:published_time\" content=\"2017-03-25T11:45:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-03-25T12:13:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/zaf.web.id\/blog\/wp-content\/uploads\/2017\/03\/ssl-certificate.png\" \/>\n<meta name=\"author\" content=\"Zaf\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@23Pstars\" \/>\n<meta name=\"twitter:site\" content=\"@23Pstars\" \/>\n<meta name=\"twitter:label1\" content=\"Ditulis oleh\" \/>\n\t<meta name=\"twitter:data1\" content=\"Zaf\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimasi waktu membaca\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 menit\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/menambahkan-sertifikat-ssl-untuk-curl-di-php\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/menambahkan-sertifikat-ssl-untuk-curl-di-php\\\/\"},\"author\":{\"name\":\"Zaf\",\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/#\\\/schema\\\/person\\\/ba4e955d59a1e6a8284857e74b14e5ed\"},\"headline\":\"Menambahkan sertifikat SSL untuk cURL di PHP\",\"datePublished\":\"2017-03-25T11:45:08+00:00\",\"dateModified\":\"2017-03-25T12:13:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/menambahkan-sertifikat-ssl-untuk-curl-di-php\\\/\"},\"wordCount\":285,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/#\\\/schema\\\/person\\\/ba4e955d59a1e6a8284857e74b14e5ed\"},\"image\":{\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/menambahkan-sertifikat-ssl-untuk-curl-di-php\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/03\\\/ssl-certificate.png\",\"keywords\":[\"CA certs PHP\",\"file_get_contents\"],\"articleSection\":[\"Server\"],\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/zaf.web.id\\\/blog\\\/menambahkan-sertifikat-ssl-untuk-curl-di-php\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/menambahkan-sertifikat-ssl-untuk-curl-di-php\\\/\",\"url\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/menambahkan-sertifikat-ssl-untuk-curl-di-php\\\/\",\"name\":\"Menambahkan sertifikat SSL untuk cURL di PHP - Ahmad Zafrullah\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/menambahkan-sertifikat-ssl-untuk-curl-di-php\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/menambahkan-sertifikat-ssl-untuk-curl-di-php\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/03\\\/ssl-certificate.png\",\"datePublished\":\"2017-03-25T11:45:08+00:00\",\"dateModified\":\"2017-03-25T12:13:01+00:00\",\"description\":\"Konfigurasi sertifikat SSL dengan men-download file certs*.pem dari website resmi cURL, tambahkan di cert path openssl untuk PHP, restart apache.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/menambahkan-sertifikat-ssl-untuk-curl-di-php\\\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/zaf.web.id\\\/blog\\\/menambahkan-sertifikat-ssl-untuk-curl-di-php\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/menambahkan-sertifikat-ssl-untuk-curl-di-php\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/zaf.web.id\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/03\\\/ssl-certificate.png?fit=289%2C240&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/zaf.web.id\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/03\\\/ssl-certificate.png?fit=289%2C240&ssl=1\",\"width\":289,\"height\":240,\"caption\":\"SSL Certificate Logo\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/menambahkan-sertifikat-ssl-untuk-curl-di-php\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Menambahkan sertifikat SSL untuk cURL di PHP\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/\",\"name\":\"Ahmad Zafrullah\",\"description\":\"Work to Learn is better than Learn how to Work\",\"publisher\":{\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/#\\\/schema\\\/person\\\/ba4e955d59a1e6a8284857e74b14e5ed\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"id\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/#\\\/schema\\\/person\\\/ba4e955d59a1e6a8284857e74b14e5ed\",\"name\":\"Zaf\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\\\/\\\/i0.wp.com\\\/zaf.web.id\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/zaf_auto_x2.jpeg?fit=300%2C300&ssl=1\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/zaf.web.id\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/zaf_auto_x2.jpeg?fit=300%2C300&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/zaf.web.id\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/zaf_auto_x2.jpeg?fit=300%2C300&ssl=1\",\"width\":300,\"height\":300,\"caption\":\"Zaf\"},\"logo\":{\"@id\":\"https:\\\/\\\/i0.wp.com\\\/zaf.web.id\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/zaf_auto_x2.jpeg?fit=300%2C300&ssl=1\"},\"sameAs\":[\"http:\\\/\\\/zaf.web.id\",\"http:\\\/\\\/www.facebook.com\\\/23Pstars\",\"https:\\\/\\\/x.com\\\/23Pstars\"],\"url\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/author\\\/zaf\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Menambahkan sertifikat SSL untuk cURL di PHP - Ahmad Zafrullah","description":"Konfigurasi sertifikat SSL dengan men-download file certs*.pem dari website resmi cURL, tambahkan di cert path openssl untuk PHP, restart apache.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/zaf.web.id\/blog\/menambahkan-sertifikat-ssl-untuk-curl-di-php\/","og_locale":"id_ID","og_type":"article","og_title":"Menambahkan sertifikat SSL untuk cURL di PHP - Ahmad Zafrullah","og_description":"Konfigurasi sertifikat SSL dengan men-download file certs*.pem dari website resmi cURL, tambahkan di cert path openssl untuk PHP, restart apache.","og_url":"https:\/\/zaf.web.id\/blog\/menambahkan-sertifikat-ssl-untuk-curl-di-php\/","og_site_name":"Ahmad Zafrullah","article_publisher":"http:\/\/www.facebook.com\/23Pstars","article_author":"http:\/\/www.facebook.com\/23Pstars","article_published_time":"2017-03-25T11:45:08+00:00","article_modified_time":"2017-03-25T12:13:01+00:00","og_image":[{"url":"https:\/\/zaf.web.id\/blog\/wp-content\/uploads\/2017\/03\/ssl-certificate.png","type":"","width":"","height":""}],"author":"Zaf","twitter_card":"summary_large_image","twitter_creator":"@23Pstars","twitter_site":"@23Pstars","twitter_misc":{"Ditulis oleh":"Zaf","Estimasi waktu membaca":"1 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/zaf.web.id\/blog\/menambahkan-sertifikat-ssl-untuk-curl-di-php\/#article","isPartOf":{"@id":"https:\/\/zaf.web.id\/blog\/menambahkan-sertifikat-ssl-untuk-curl-di-php\/"},"author":{"name":"Zaf","@id":"https:\/\/zaf.web.id\/blog\/#\/schema\/person\/ba4e955d59a1e6a8284857e74b14e5ed"},"headline":"Menambahkan sertifikat SSL untuk cURL di PHP","datePublished":"2017-03-25T11:45:08+00:00","dateModified":"2017-03-25T12:13:01+00:00","mainEntityOfPage":{"@id":"https:\/\/zaf.web.id\/blog\/menambahkan-sertifikat-ssl-untuk-curl-di-php\/"},"wordCount":285,"commentCount":0,"publisher":{"@id":"https:\/\/zaf.web.id\/blog\/#\/schema\/person\/ba4e955d59a1e6a8284857e74b14e5ed"},"image":{"@id":"https:\/\/zaf.web.id\/blog\/menambahkan-sertifikat-ssl-untuk-curl-di-php\/#primaryimage"},"thumbnailUrl":"https:\/\/zaf.web.id\/blog\/wp-content\/uploads\/2017\/03\/ssl-certificate.png","keywords":["CA certs PHP","file_get_contents"],"articleSection":["Server"],"inLanguage":"id","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/zaf.web.id\/blog\/menambahkan-sertifikat-ssl-untuk-curl-di-php\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/zaf.web.id\/blog\/menambahkan-sertifikat-ssl-untuk-curl-di-php\/","url":"https:\/\/zaf.web.id\/blog\/menambahkan-sertifikat-ssl-untuk-curl-di-php\/","name":"Menambahkan sertifikat SSL untuk cURL di PHP - Ahmad Zafrullah","isPartOf":{"@id":"https:\/\/zaf.web.id\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/zaf.web.id\/blog\/menambahkan-sertifikat-ssl-untuk-curl-di-php\/#primaryimage"},"image":{"@id":"https:\/\/zaf.web.id\/blog\/menambahkan-sertifikat-ssl-untuk-curl-di-php\/#primaryimage"},"thumbnailUrl":"https:\/\/zaf.web.id\/blog\/wp-content\/uploads\/2017\/03\/ssl-certificate.png","datePublished":"2017-03-25T11:45:08+00:00","dateModified":"2017-03-25T12:13:01+00:00","description":"Konfigurasi sertifikat SSL dengan men-download file certs*.pem dari website resmi cURL, tambahkan di cert path openssl untuk PHP, restart apache.","breadcrumb":{"@id":"https:\/\/zaf.web.id\/blog\/menambahkan-sertifikat-ssl-untuk-curl-di-php\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zaf.web.id\/blog\/menambahkan-sertifikat-ssl-untuk-curl-di-php\/"]}]},{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/zaf.web.id\/blog\/menambahkan-sertifikat-ssl-untuk-curl-di-php\/#primaryimage","url":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2017\/03\/ssl-certificate.png?fit=289%2C240&ssl=1","contentUrl":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2017\/03\/ssl-certificate.png?fit=289%2C240&ssl=1","width":289,"height":240,"caption":"SSL Certificate Logo"},{"@type":"BreadcrumbList","@id":"https:\/\/zaf.web.id\/blog\/menambahkan-sertifikat-ssl-untuk-curl-di-php\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zaf.web.id\/blog\/"},{"@type":"ListItem","position":2,"name":"Menambahkan sertifikat SSL untuk cURL di PHP"}]},{"@type":"WebSite","@id":"https:\/\/zaf.web.id\/blog\/#website","url":"https:\/\/zaf.web.id\/blog\/","name":"Ahmad Zafrullah","description":"Work to Learn is better than Learn how to Work","publisher":{"@id":"https:\/\/zaf.web.id\/blog\/#\/schema\/person\/ba4e955d59a1e6a8284857e74b14e5ed"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zaf.web.id\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"id"},{"@type":["Person","Organization"],"@id":"https:\/\/zaf.web.id\/blog\/#\/schema\/person\/ba4e955d59a1e6a8284857e74b14e5ed","name":"Zaf","image":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2024\/09\/zaf_auto_x2.jpeg?fit=300%2C300&ssl=1","url":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2024\/09\/zaf_auto_x2.jpeg?fit=300%2C300&ssl=1","contentUrl":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2024\/09\/zaf_auto_x2.jpeg?fit=300%2C300&ssl=1","width":300,"height":300,"caption":"Zaf"},"logo":{"@id":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2024\/09\/zaf_auto_x2.jpeg?fit=300%2C300&ssl=1"},"sameAs":["http:\/\/zaf.web.id","http:\/\/www.facebook.com\/23Pstars","https:\/\/x.com\/23Pstars"],"url":"https:\/\/zaf.web.id\/blog\/author\/zaf\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":1322,"url":"https:\/\/zaf.web.id\/blog\/mengganti-webuzo-dengan-centos-web-panel\/","url_meta":{"origin":1059,"position":0},"title":"Mengganti Webuzo dengan CentOS Web Panel","author":"Zaf","date":"Agustus 21, 2018","format":false,"excerpt":"Setelah beberapa tahun terakhir aktif menggunakan Webuzo, tiba saatnya move on kepada software lain. Kali ini tempat singgah berikutnya adalah CentOS Web Panel (CWP). CWP merupakan panel control untuk kebutuhan website pada server dengan distro CentOS. Dengan banyaknya domain yang terdistribusi dalam beberapa server LRsoft, proses migrasi mungkin akan memakan\u2026","rel":"","context":"dalam &quot;Internet&quot;","block_context":{"text":"Internet","link":"https:\/\/zaf.web.id\/blog\/category\/internet\/"},"img":{"alt_text":"CWP Pro","src":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2018\/09\/Screen-Shot-2018-09-21-at-09.58.12.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2018\/09\/Screen-Shot-2018-09-21-at-09.58.12.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2018\/09\/Screen-Shot-2018-09-21-at-09.58.12.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2018\/09\/Screen-Shot-2018-09-21-at-09.58.12.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":2073,"url":"https:\/\/zaf.web.id\/blog\/perbaikan-web-dengan-mesin-ojs-setelah-migrasi-ke-proxy-cloudflare\/","url_meta":{"origin":1059,"position":1},"title":"Perbaikan Web dengan Mesin OJS Setelah Migrasi ke Proxy Cloudflare","author":"Zaf","date":"Agustus 29, 2024","format":false,"excerpt":"Masalah Dampak yang sering dialami setelah proses migrasi ke proxy cloudflare adalah web menjadi redirect berkali-kali. Sesuaikan Konfigurasi Terdapat beberapa penyesuaian yang perlu dilakukan pada file config.inc.php Atur agar selalu menggunakan https base_url = \"https:\/\/domain.com\" Matikan SSL otomatis force_ssl = Off force_login_ssl = Off Matikan session check IP juga agar\u2026","rel":"","context":"dalam &quot;Security&quot;","block_context":{"text":"Security","link":"https:\/\/zaf.web.id\/blog\/category\/security\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2024\/08\/ERR_TOO_MANY_REDIRECTS-in-chrome-e1724895816567.png?fit=1200%2C501&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2024\/08\/ERR_TOO_MANY_REDIRECTS-in-chrome-e1724895816567.png?fit=1200%2C501&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2024\/08\/ERR_TOO_MANY_REDIRECTS-in-chrome-e1724895816567.png?fit=1200%2C501&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2024\/08\/ERR_TOO_MANY_REDIRECTS-in-chrome-e1724895816567.png?fit=1200%2C501&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2024\/08\/ERR_TOO_MANY_REDIRECTS-in-chrome-e1724895816567.png?fit=1200%2C501&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":1034,"url":"https:\/\/zaf.web.id\/blog\/akses-akun-email-yandex-dari-gmail\/","url_meta":{"origin":1059,"position":2},"title":"Akses akun email Yandex dari Gmail","author":"Zaf","date":"Februari 13, 2017","format":false,"excerpt":"Beberapa tahun terakhir saya kerap kali menggunakan layanan Yandex untuk keperluan host email dengan custom domain. Selain free (tentunya),\u00a0fasilitas yang diberikan juga tidak kalah bagusnya dengan Gmail. Mulai dari UI\/UX, security, CNAME, dan customization lainnya sejauh ini cukup memuaskan. Hari ini saya\u00a0memberikan layanan email ke tim LRsoft dengan domain @lrsoft.id,\u2026","rel":"","context":"dalam &quot;Coretan&quot;","block_context":{"text":"Coretan","link":"https:\/\/zaf.web.id\/blog\/category\/coretan\/"},"img":{"alt_text":"POP access Yandex mail","src":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2017\/02\/Screen-Shot-2017-02-13-at-1.25.08-PM.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2017\/02\/Screen-Shot-2017-02-13-at-1.25.08-PM.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2017\/02\/Screen-Shot-2017-02-13-at-1.25.08-PM.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":1954,"url":"https:\/\/zaf.web.id\/blog\/mitigasi-malware-di-web-server-dan-cara-membersihkannya\/","url_meta":{"origin":1059,"position":3},"title":"Mitigasi Malware di Web Server dan Cara Membersihkannya","author":"Zaf","date":"November 23, 2022","format":false,"excerpt":"Malware selalu menjadi hal yang merepotkan. Umumnya pembuat malware tidak membuat malware untuk sekedar ajang pamer layaknya defacement. Malware dibuat demi tujuan yang lebih besar dan masif, dan biasanya tidak berjalan secara sendiri-sendiri melainkan menjadi sebuah network atau perkumpulan. Discovery Disuatu pagi tiba-tiba salah satu website yang kami kelola menunjukkan\u2026","rel":"","context":"dalam &quot;Security&quot;","block_context":{"text":"Security","link":"https:\/\/zaf.web.id\/blog\/category\/security\/"},"img":{"alt_text":"Mencari induk malware","src":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2022\/11\/6.-cari-dan-hapus-file-ico.png?fit=795%2C241&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2022\/11\/6.-cari-dan-hapus-file-ico.png?fit=795%2C241&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2022\/11\/6.-cari-dan-hapus-file-ico.png?fit=795%2C241&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2022\/11\/6.-cari-dan-hapus-file-ico.png?fit=795%2C241&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":484,"url":"https:\/\/zaf.web.id\/blog\/serangan-campaign-malware\/","url_meta":{"origin":1059,"position":4},"title":"Serangan Campaign Malware","author":"Zaf","date":"Desember 18, 2014","format":false,"excerpt":"Hari ini dipenghujung tahun 2014 ini adalah hari paling merepotkan selama mengelola salah satu Cloud milik LRsoft.\u00a0Pasalnya server mendapat kado natal istimewa berupa malware yang menginfeksi 60 lebih website yang\u00a0ada didalamnya, sehingga ketika domain web tersebut diakses via browser akan muncul peringatan block halaman dari layanan Google seperti gambar dibawah:\u2026","rel":"","context":"dalam &quot;Server&quot;","block_context":{"text":"Server","link":"https:\/\/zaf.web.id\/blog\/category\/server\/"},"img":{"alt_text":"Block dari Google","src":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2014\/12\/malware-frommshead.php_.png?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2014\/12\/malware-frommshead.php_.png?resize=350%2C200 1x, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2014\/12\/malware-frommshead.php_.png?resize=525%2C300 1.5x"},"classes":[]},{"id":1779,"url":"https:\/\/zaf.web.id\/blog\/logging-report-php-pada-web-server-apache-ke-telegram\/","url_meta":{"origin":1059,"position":5},"title":"Logging Report PHP pada Web Server Apache ke Telegram","author":"Zaf","date":"Mei 5, 2021","format":false,"excerpt":"Sistem atau aplikasi yang baik adalah yang memiliki tingkat error yang minim, bahkan jika memungkinkan tidak terdapat error sekecil apapun. Namun seperti yang dikatakan banyak orang, tidak ada sistem yang sempurna, yang ada hanya bagaimana meminimalisir error tersebut. Log membantu developer untuk melakukan identifikasi jika ada hal yang tidak sesuai\u2026","rel":"","context":"dalam &quot;Inspirasi&quot;","block_context":{"text":"Inspirasi","link":"https:\/\/zaf.web.id\/blog\/category\/inspirasi\/"},"img":{"alt_text":"Apache Log Telegram Notif","src":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2021\/05\/telegram-pustik-syslog.png?fit=922%2C573&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2021\/05\/telegram-pustik-syslog.png?fit=922%2C573&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2021\/05\/telegram-pustik-syslog.png?fit=922%2C573&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2021\/05\/telegram-pustik-syslog.png?fit=922%2C573&ssl=1&resize=700%2C400 2x"},"classes":[]}],"jetpack_likes_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p4zLnS-h5","_links":{"self":[{"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/posts\/1059","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/comments?post=1059"}],"version-history":[{"count":4,"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/posts\/1059\/revisions"}],"predecessor-version":[{"id":1065,"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/posts\/1059\/revisions\/1065"}],"wp:attachment":[{"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/media?parent=1059"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/categories?post=1059"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/tags?post=1059"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}