• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Jaranguda

Belajar Mengajar

  • Home
  • Sponsor/Jasa
  • Tentang

Solusi Fix PHP Failed to enable crypto in

Last Updated on 24 November 2021 By tommy Leave a Comment

Beberapa hari ini salah satu script PHP yang saya gunakan error, setelah pindah server. Scriptnya seperti dibawah ini

<?php
$url = file_get_contents("https://xxx-prod.domain.com");
var_dump($url);

output dari script diatas

PHP Warning:  file_get_contents(): Peer certificate CN=`xxx-prod-v1.domain.com' did not match expected CN=`xxx-prod.domain.com' in /home/tommy/getIp.php on line 3
PHP Warning:  file_get_contents(): Failed to enable crypto in /home/tommy/getIp.php on line 3
PHP Warning:  file_get_contents(https://xxx-prod.domain.com): Failed to open stream: operation failed in /home/tommy/getIp.php on line 3
bool(false)

Error tersebut menyatakan bahwa SSL Common Name (CN) tidak sesuai dengan nama domain yang sedang saya akses, biasanya hal ini terjadi bisa di server salah setting untuk SSL yang digunakan. Saya coba buka dari beberapa browser, tidak ada masalah dan semuanya menampilkan SSL yang cocok.

Cek dengan curl dari server, hasilnya sama, jadi ini bukan masalah di PHP

curl: (60) SSL: no alternative certificate subject name matches target host name 'xxx-prod.domain.com'
More details here: https://curl.haxx.se/docs/sslcerts.html
 
curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.

Coba telusuri lebih lanjut dengan ping

$ ping xxx-prod.domain.com
PING xxx-prod.domain.com(XXXX:XXXX:c0c:20ff::1 (XXXX:XXXX:c0c:20ff::1)) 56 data bytes
64 bytes from XXXX:XXXX:c0c:20ff::1 (XXXX:XXXX:c0c:20ff::1): icmp_seq=1 ttl=64 time=0.092 ms
64 bytes from XXXX:XXXX:c0c:20ff::1 (XXXX:XXXX:c0c:20ff::1): icmp_seq=2 ttl=64 time=0.073 ms
64 bytes from XXXX:XXXX:c0c:20ff::1 (XXXX:XXXX:c0c:20ff::1): icmp_seq=3 ttl=64 time=0.099 ms

dengan curl juga bisa dicek, dengan curl namadomain -k -v, hasilnya harusnya sama. Dengan hasil ping tersebut bisa di pastikan bahwa server tersebut salah mengkonfigurasi SSL untuk IPv6-nya, jadi yang valid hanya untuk IPv4, karena dari komputer saya yang tidak ada IPv6 tidak ada masalah.

Karena sudah menemukan masalahnya, jadi kita buatkan solusinya, masalah ini bisa di atasi dari dua sisi, baik dari client ataupun server.

1. Dari Client

Bila domain tersebut punya orang lain, dan kita tidak punya akses ke servernya, maka dari script PHP yang sudah dibuat sebelumnya, kita tambahkan parameter untuk memaksa PHP menggunakan IPv4, karena tidak ada masalah disitu, jadi scriptnya berubah menjadi

<?php
$url = file_get_contents("https://xxx-prod.domain.com", false, stream_context_create(['socket' => ['bindto' => '0:0']]));
var_dump($url);

0:0 pada nilai diatas adalah IPv4, untuk IPv6 gunakan [::]:0

2. Dari Server

Bila server/domain tersebut anda yang mengelolanya, bisa di fix dengan menggunakan certificate yang benar untuk domain tersebut, contoh untuk Nginx ubah pada bagian

ssl_certificate /root/.acme.sh/xxx-prod.domain.com/fullchain.cer;
ssl_certificate_key /root/.acme.sh/xxx-prod.domain.com/xxx-prod.domain.com.key;

jangan lupa restart service nginx setelah melakukan perubahan.

Tulisan menarik lainnya

  • Solusi Error PHP Cannot modify header information - headers

    Contoh script script diambil dari php imagestring, solusinya hapus spase kosong di baris pertama, hingga…

  • Install PHP 7.1 Nginx MariaDB WordPress di CentOS 7

    Sekarang ini WordPress merupakan pilihan utama untuk blog, situs perusahaan, situs belanja, dan banyak lainnya.…

  • Solusi Error PHP nginx Permission denied while connecting to upstream

    Saat menggunakan nginx dan php-fpm error yang sering muncul adalah 2016/12/05 12:01:05 [crit] 20397#20397: *3…

  • Solusi MariaDB Failed at step NAMESPACE spawning

    Log dari journal -f -- Logs begin at Fri 2017-04-28 09:50:50 WIB. -- Apr 28…

Filed Under: PHP

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Pencarian

Tanya Jawab tentang DevOps SRE CPE, gabung di https://t.me/devopsindonesia

Terbaru

  • Cara Buat atau Update UID User Docker Image
  • Solusi helm Upgrade Failed
  • macOS package is untrusted
  • Cara Mengganti Port Screen Sharing macOS
  • Cara Menonaktifkan Pager di macOS

Komentar

  • Iqu on Review ISP Fiber Optik Balifiber
  • Sarah on Kemana Menghilangnya Saldo BCA 50 ribu
  • Rizcky on Kemana Menghilangnya Saldo BCA 50 ribu
  • Mubashar sadiq on Password Superadmin Huawei HG8245A
  • Beritalogi on Cara Redirect Domain di Cloudflare

Tulisan Populer

  • Password Router Huawei HG8245H5 Indihome 1.3m views
  • Password Terbaru ZTE F609 Indihome 786k views
  • Password Superadmin Huawei HG8245A 330.6k views
  • Cara Setting Manual Modem GPON ZTE F609 Indihome 275.5k views
  • Cara Setting Wireless ZTE F609 Indihome 260.4k views
  • Mengaktifkan Port LAN di Huawei HG8245 Indihome 172.2k views
  • Kemana Menghilangnya Saldo BCA 50 ribu 162.2k views
  • Akses UseeTV Indihome via Wireless ZTE F609 157.5k views
  • Cara Reset Password ZTE F609 Indihome 148.6k views
  • Cara Setting DHCP Server Modem/Router ZTE F609 115.5k views

Kategori

  • Delphi
  • dll
  • Gambas
  • Internet
  • Java
  • Lazarus
  • Linux
  • PHP
  • Review
  • Teknologi

Sponsor

kadal.id
carakami.com
kuotabisa.com
Untuk jadi sponsor, hubungi kita lewat halaman sponsor
© 2021. Jaranguda
  • Linux
  • PHP
  • Internet
  • Teknologi
  • Delphi
  • Gambas
  • Java