Topik ini menjelaskan cara melakukan troubleshooting terhadap website yang tidak dapat diakses dan berjalan pada sebuah instans ECS.
Symptoms
Anda mungkin mengalami salah satu masalah berikut saat mencoba mengakses website yang berjalan pada instans ECS:
-
Muncul pesan seperti "Tidak ada Pendaftaran ICP atau tidak terhubung" atau "Konten website tidak sesuai dengan informasi Pendaftaran ICP".
-
Browser mengembalikan kode status HTTP, seperti 403, 404, 502, atau 503.
-
Tidak dapat mengakses website yang baru dibuat.
-
Website yang sebelumnya berjalan dengan baik tiba-tiba menjadi tidak dapat diakses.
-
Tidak dapat mengakses website pada instans ECS melalui instans Server Load Balancer (SLB).
-
Tidak dapat mengakses website yang dipercepat oleh Alibaba Cloud CDN.
-
Tidak dapat mengakses website yang dilindungi oleh Web Application Firewall (WAF).
Causes
Website pada instans ECS dapat menjadi tidak dapat diakses karena berbagai alasan. Bagian ini mencantumkan penyebab umum; penyebab sebenarnya bergantung pada hasil troubleshooting Anda.
-
Port TCP 80 tidak tersedia.
-
Layanan web tidak tersedia.
-
Website tidak memiliki Pendaftaran ICP.
-
Terjadi masalah pada sumber daya website atau layanan backend.
-
Website tidak dibangun sesuai prosedur standar.
-
Terjadi masalah pada origin server.
Masalah akses website dapat memiliki banyak penyebab. Untuk informasi lebih lanjut, lihat Troubleshooting dan panduan untuk pengecualian akses instans ECS.
Troubleshooting
Pilih salah satu metode berikut untuk melakukan troubleshooting terhadap masalah tersebut.
Troubleshoot berdasarkan bagan alir
Anda dapat mengikuti langkah-langkah dalam bagan alir untuk melakukan troubleshooting terhadap masalah tersebut.

Solusi berdasarkan gejala
Temukan solusi untuk setiap gejala yang tercantum di bawah ini.
-
Pesan: "Tidak ada Pendaftaran ICP atau tidak terhubung" atau "Konten website tidak sesuai dengan informasi Pendaftaran ICP".
Anda tidak dapat mengaktifkan akses website hingga memperoleh Pendaftaran ICP untuk alamat IP atau nama domain website tersebut. Untuk informasi lebih lanjut, lihat Pendaftaran ICP umum.
-
Browser mengembalikan kode status HTTP, seperti 403, 404, 502, atau 503.
Ketika browser mengembalikan kode status tersebut, biasanya menunjukkan bahwa koneksi jaringan antara klien dan server stabil, tetapi terdapat masalah pada sumber daya website atau layanan backend.
-
Tidak dapat mengakses website yang baru dibuat.
Ikuti prosedur standar untuk membangun website Anda. Untuk informasi lebih lanjut tentang prosedur pembuatan website, lihat Panduan cepat membangun website.
-
Website yang sebelumnya berjalan dengan baik tiba-tiba menjadi tidak dapat diakses.
Periksa layanan web dan database backend Anda untuk memastikan keduanya berjalan. Jika suatu layanan tidak berjalan, periksa log-nya untuk mencari pesan error dan gunakan informasi tersebut untuk memperbaiki masalah.
Catatan-
File log layanan web biasanya bernama access.log atau error.log. Untuk informasi lebih lanjut, kunjungi situs resmi layanan web Anda.
-
Masalah pada layanan backend, seperti PHP, Java, Tomcat, atau database, juga dapat menyebabkan website tidak dapat diakses. Dalam hal ini, hubungi administrator situs web Anda untuk bantuan.
-
-
Tidak dapat mengakses website pada instans ECS melalui instans Server Load Balancer (SLB).
Jika Anda menggunakan instans Server Load Balancer (SLB) bersama instans ECS, masalah tersebut mungkin disebabkan oleh pengaturan Pendengar yang salah pada instans SLB. Untuk informasi lebih lanjut, lihat Tidak dapat mengakses website pada instans ECS menggunakan instans SLB.
-
Tidak dapat mengakses website setelah dipercepat oleh Alibaba Cloud CDN.
Pertama-tama, tentukan apakah masalahnya berasal dari origin server. Untuk informasi lebih lanjut, lihat Troubleshoot kegagalan akses website setelah Alibaba Cloud CDN diaktifkan.
-
Tidak dapat mengakses website yang dilindungi oleh Web Application Firewall (WAF).
Pertama-tama, tentukan apakah masalahnya berasal dari origin server, lalu periksa apakah WAF secara salah memblokir permintaan. Untuk informasi lebih lanjut, lihat Tidak dapat mengakses website yang dilindungi oleh WAF.
Solutions
Bagian ini menjelaskan solusi untuk masalah yang disebabkan oleh port TCP 80 atau layanan web yang tidak tersedia.
Linux: Port 80 dan layanan web
Langkah-langkah berikut menggunakan contoh instans CentOS 7. Prosedur dapat berbeda tergantung sistem operasi Anda.
Port TCP 80 tidak tersedia
-
Hubungkan ke instans Linux.
Untuk informasi lebih lanjut, lihat Metode koneksi.
-
Jalankan perintah berikut untuk memeriksa apakah ada layanan yang mendengarkan pada port TCP 80:
netstat -an | grep 80Jika perintah mengembalikan salah satu output berikut, layanan web sedang berjalan dan mendengarkan pada port TCP 80. Jika Anda menerima output yang berbeda atau error, lihat Layanan web tidak tersedia untuk langkah selanjutnya.
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN # Mendengarkan pada semua antarmuka jaringantcp 0 0 127.0.0.1:80 0.0.0.0:* LISTEN # Mendengarkan pada host lokalCatatanMendengarkan pada 127.0.0.1 mencegah akses eksternal ke layanan web. Anda harus mengubah konfigurasi agar mendengarkan pada semua antarmuka jaringan.
-
Verifikasi bahwa traffic diizinkan pada port TCP 80 dan koneksi stabil.
-
Periksa apakah grup keamanan instans mengizinkan traffic pada port TCP 80. Jika tidak, tambahkan aturan grup keamanan. Untuk informasi lebih lanjut, lihat Tambahkan aturan grup keamanan.
-
Periksa apakah firewall sistem operasi instans diaktifkan. Jika diaktifkan, kami menyarankan Anda menonaktifkannya dan menggunakan grup keamanan sebagai gantinya. Untuk informasi lebih lanjut, lihat Kelola firewall sistem pada instans Linux.
-
Gunakan perintah telnet dan traceroute untuk menguji konektivitas pada port TCP 80. Untuk informasi lebih lanjut, lihat Troubleshoot masalah konektivitas port ketika server dapat diping.
-
-
Periksa apakah instans ECS memiliki bandwidth yang cukup.
Untuk informasi lebih lanjut, lihat Kueri dan analisis beban sistem instans Linux.
Jika bandwidth tidak mencukupi, lakukan peningkatan bandwidth instans. Untuk informasi lebih lanjut, lihat Modify bandwidth configurations.
Layanan web tidak tersedia
-
Hubungkan ke instans Linux.
Untuk informasi lebih lanjut, lihat Metode koneksi.
-
Periksa log layanan web.
-
Jalankan perintah berikut untuk melihat log error Apache.
-
CentOS atau Alinux:
less /var/log/httpd/error_log -
Ubuntu:
less /var/log/apache2/error.log
-
-
Jalankan perintah berikut untuk melihat log error Nginx.
less /var/log/nginx/error_log
-
-
Jalankan perintah
topuntuk memeriksa status berjalan instans.Periksa proses abnormal. Blok kode berikut menunjukkan contoh output perintah.
top - 16:03:47 up 21:22, 2 users, load average: 0.01, 0.02, 0.05 Tasks: 101 total, 1 running, 100 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.1 us, 0.2 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 7732780 total, 6633068 free, 208044 used, 891668 buff/cache KiB Swap: 0 total, 0 free, 0 used. 7276512 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1685 root 10 -10 140444 18232 11472 S 1.0 0.2 18:40.04 AliYunDun 1371 root 10 -10 42320 4492 2988 S 0.3 0.1 0:46.65 AliYunDunUpdate 1 root 20 0 191048 4084 2612 S 0.0 0.1 0:01.74 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 4 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H 5 root 20 0 0 0 0 S 0.0 0.0 0:00.35 kworker/u8:0 6 root 20 0 0 0 0 S 0.0 0.0 0:00.02 ksoftirqd/0 7 root rt 0 0 0 0 0 S 0.0 0.0 0:00.00 migration/0 8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh 9 root 20 0 0 0 0 S 0.0 0.0 0:10.57 rcu_schedNilai
load averagesebesar0.01,0.02, dan0.05mewakili rata-rata beban sistem selama 1, 5, dan 15 menit terakhir, secara berurutan. Sebagai aturan umum, jika nilai load average dibagi jumlah CPU logis lebih besar dari 5, sistem mungkin kelebihan beban. Ambang batas ini dapat bervariasi berdasarkan kemampuan CPU dan workload server Anda. Jika sistem kelebihan beban, identifikasi ID proses (PID) dengan nilai%CPUyang tinggi. Kemudian, cari nama proses di kolomCOMMANDdan ambil tindakan sesuai kebutuhan sistem Anda. -
Lihat informasi pemantauan instans di Konsol.
Untuk informasi lebih lanjut, lihat Lihat informasi pemantauan instans.
-
Periksa apakah instans memiliki CPU dan memori yang cukup. Jika tidak, lihat Troubleshoot penggunaan CPU tinggi pada instans ECS Linux.
-
Periksa apakah instans memiliki bandwidth yang cukup. Jika tidak, lakukan peningkatan bandwidth instans. Untuk informasi lebih lanjut, lihat Modify bandwidth configurations.
-
-
Jalankan perintah berikut untuk memeriksa apakah terlalu banyak koneksi TCP pada port 80 instans:
netstat -anp | grep ':80 ' | grep tcpBerikut adalah contoh respons:
xxx@linux:~# netstat -anp |grep 80 |grep tcp tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 2551/nginx: master tcp 0 0 xxx.xxx.xxx.174:36646 xxx.xxx.xxx.70:80 TIME_WAIT - tcp 0 0 xxx.xxx.xxx.174:51426 xxx.xxx.xxx.70:80 TIME_WAIT - tcp 0 0 xxx.xxx.xxx.174:34034 xxx.xxx.xxx.70:80 TIME_WAIT - tcp 0 0 xxx.xxx.xxx.174:42812 xxx.xxx.xxx.xxx:80 ESTABLISHED 1633/AliYunDun tcp6 0 0 :::80 :::* LISTEN 2551/nginx: master xxx@linux:~# netstat -anp |grep 80 |grep tcp |wc -l 6 -
Jalankan perintah berikut untuk menghitung semua koneksi TCP:
netstat -anp |grep tcp |wc -l -
Bandingkan jumlah total koneksi TCP dengan nilai parameter
net.ipv4.tcp_max_tw_bucketsdalam file/etc/sysctl.conf. Jika jumlah total koneksi TCP melebihi nilai ini, lakukan langkah-langkah berikut:-
Jalankan perintah
vi /etc/sysctl.confuntuk membuka file/etc/sysctl.conf, dan periksa nilai parameternet.ipv4.tcp_max_tw_buckets.vm.swappiness = 0 kernel.sysrq = 1 net.ipv4.neigh.default.gc_stale_time = 120 # see details in https://www.alibabacloud.com/help/knowledge_detail/39428.html net.ipv4.conf.all.rp_filter = 0 net.ipv4.conf.default.rp_filter = 0 net.ipv4.conf.default.arp_announce = 2 net.ipv4.conf.lo.arp_announce = 2 net.ipv4.conf.all.arp_announce = 2 # see details in https://www.alibabacloud.com/help/knowledge_detail/41334.html net.ipv4.tcp_max_tw_buckets = 5000 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_max_syn_backlog = 1024 net.ipv4.tcp_synack_retries = 2 net.ipv4.tcp_slow_start_after_idle = 0Jika Anda memastikan bahwa jumlah koneksi TCP tinggi dan kemungkinan melebihi batas, tingkatkan nilai parameter
net.ipv4.tcp_max_tw_bucketssesuai kebutuhan Anda. -
Jalankan perintah
sysctl -puntuk menerapkan konfigurasi baru.
-
Windows: Port 80 dan layanan web
Langkah-langkah berikut menggunakan contoh instans yang menjalankan Windows Server 2012 R2. Prosedur aktual dapat berbeda tergantung sistem operasi Anda.
Port TCP 80 tidak tersedia
-
Hubungkan ke instans Windows.
Untuk informasi lebih lanjut, lihat Metode koneksi.
-
Buka Command Prompt.
-
Klik ikon Start
di pojok kiri bawah desktop, lalu klik ikon Search
. -
Di kotak pencarian, masukkan
cmd. -
Klik Command Prompt.
Jendela Command Prompt terbuka.
Microsoft Windows [Version 6.3.9600] (c) 2013 Microsoft Corporation. All rights reserved. C:\Users\Administrator>
-
-
Jalankan perintah berikut untuk memeriksa apakah ada layanan yang mendengarkan pada port TCP 80:
netstat -ano | findstr :80Jika perintah mengembalikan salah satu output berikut, layanan web sedang berjalan dan mendengarkan pada port TCP 80. Jika Anda menerima output yang berbeda atau error, lihat Layanan web tidak tersedia untuk langkah selanjutnya.
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 1172 # Mendengarkan pada semua antarmuka jaringan TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 1172 # Mendengarkan pada host lokalCatatanJika layanan hanya mendengarkan pada host lokal (127.0.0.1), klien eksternal tidak dapat mengakses layanan web. Jalankan perintah
netsh http delete iplisten ipaddress=127.0.0.1:80untuk mengonfigurasi ulang layanan agar mendengarkan pada semua antarmuka jaringan. -
Verifikasi bahwa traffic diizinkan pada port TCP 80 dan koneksi stabil.
-
Periksa apakah grup keamanan instans mengizinkan traffic pada port 80. Jika tidak, tambahkan aturan grup keamanan. Untuk informasi lebih lanjut, lihat Tambahkan aturan grup keamanan.
-
Periksa apakah firewall sistem operasi instans diaktifkan. Jika diaktifkan, kami menyarankan Anda menonaktifkannya dan menggunakan grup keamanan sebagai gantinya. Untuk informasi lebih lanjut, lihat Konfigurasikan kebijakan firewall untuk instans Windows.
-
Gunakan perintah telnet dan tracert untuk menguji konektivitas pada port 80. Untuk informasi lebih lanjut, lihat Troubleshoot masalah konektivitas port ketika server dapat diping.
-
-
Periksa apakah instans ECS memiliki bandwidth yang cukup.
Untuk informasi lebih lanjut, lihat Troubleshoot penggunaan bandwidth dan CPU tinggi atau penuh pada instans Windows.
Jika bandwidth tidak mencukupi, lakukan peningkatan bandwidth instans. Untuk informasi lebih lanjut, lihat Modify bandwidth configurations.
Layanan web tidak tersedia
-
Hubungkan ke instans Windows.
Untuk informasi lebih lanjut, lihat Metode koneksi.
-
Periksa log layanan web.
-
Metode 1: Telusuri folder log.
Untuk Windows Server 2008 R2 dan versi lebih baru, jalur log adalah
C:\inetpub\logs\LogFiles. -
Metode 2: Gunakan Internet Information Services (IIS) Manager.
-
Pilih
> Windows Administrative Tools > Internet Information Services (IIS) Manager. -
Di halaman utama website Anda, klik dua kali Logging di bagian IIS. Lalu, di panel Actions, klik Browse.
-
Di halaman Logging, Anda dapat mengubah jalur penyimpanan log sesuai kebutuhan. Salin jalur tersebut, tempelkan ke File Explorer, lalu tekan
Enter.Anda kemudian dapat melihat folder log di File Explorer.
-
-
-
Gunakan Task Manager untuk memeriksa status instans dan mencari proses abnormal.
-
Klik kanan desktop dan pilih Task Manager.
-
Klik tab Processes.
Anda dapat melihat penggunaan CPU dan memori proses di Task Manager untuk mengidentifikasi proses abnormal.
-
-
Lihat informasi pemantauan instans di Konsol.
Untuk informasi lebih lanjut, lihat Lihat informasi pemantauan instans.
-
Periksa apakah instans memiliki CPU dan memori yang cukup. Jika tidak, lihat Troubleshoot penggunaan bandwidth dan CPU tinggi atau penuh pada instans Windows.
-
Periksa apakah instans memiliki bandwidth yang cukup. Jika tidak, lakukan peningkatan bandwidth instans. Untuk informasi lebih lanjut, lihat Modify bandwidth configurations.
-
-
Periksa apakah terlalu banyak koneksi TCP pada port 80 instans.
-
Buka Command Prompt.
-
Klik ikon Start
di pojok kiri bawah desktop, lalu klik ikon Search
. -
Di kotak pencarian, masukkan
cmd. -
Klik Command Prompt.
Jendela Command Prompt terbuka.
Microsoft Windows [Version 6.3.9600] (c) 2013 Microsoft Corporation. All rights reserved. C:\Users\Administrator>
-
-
-
Jalankan perintah berikut secara berurutan untuk menghitung koneksi TCP dalam berbagai status:
netstat -n |find /i "time_wait" /c netstat -n |find /i "close_wait" /c netstat -n |find /i "established" /cSecara default, Windows mengizinkan 16.384 port dinamis, berkisar dari 49152 hingga 65535. Jika jumlah koneksi dalam status
CLOSE_WAITmendekati batas ini, banyak koneksi tidak dilepas dengan benar. Jika demikian, modifikasi registri untuk mengurangi durasiTcpTimedWaitDelayseperti yang dijelaskan pada langkah berikutnya.C:\Users\Administrator>netstat -n |find /i "time_wait" /c 10 C:\Users\Administrator>netstat -n |find /i "close_wait" /c 0 C:\Users\Administrator>netstat -n |find /i "established" /c 7 C:\Users\Administrator> -
Buka Registry Editor.
-
Klik ikon Start
di pojok kiri bawah desktop, lalu klik ikon Search
. -
Di kotak pencarian, masukkan
regedit. -
Klik regedit.
Jendela Registry Editor terbuka.
-
-
Di Registry Editor, navigasi ke
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters. Atur nilai kunciTcpTimedWaitDelaymenjadi nilai desimal30.Jika entri
TcpTimedWaitDelaytidak ada, buat entri registri tersebut lalu ubah nilainya. Misalnya, jika entriTcpTimedWaitDelaytidak ada, lakukan langkah-langkah berikut:-
Di jalur
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters, klik kanan area kosong dan pilih New > DWORD (32-bit) Value. -
Masukkan
TcpTimedWaitDelaylalu tekanEnter. -
Klik kanan kunci
TcpTimedWaitDelaylalu klik Modify. -
Di kotak dialog yang muncul, pilih Decimal dan atur Value data menjadi
30. -
Klik OK.
-