{"id":20071,"date":"2026-05-15T15:39:33","date_gmt":"2026-05-15T12:39:33","guid":{"rendered":"https:\/\/unihost.com\/help\/?p=20071"},"modified":"2026-05-15T15:39:33","modified_gmt":"2026-05-15T12:39:33","slug":"check-open-ports-and-close-services","status":"publish","type":"post","link":"https:\/\/unihost.com\/help\/check-open-ports-and-close-services\/","title":{"rendered":"How to Check Open Ports and Close Unnecessary Services on a Server"},"content":{"rendered":"<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Open ports are network \u201centry points\u201d to a server. SSH, web servers, databases, control panels, mail services, Docker applications, and other services work through them.<\/span><\/p>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">The more ports are open to the outside world, the larger the potential attack surface. Therefore, after installing a VPS or dedicated server, it is important to check which services are listening on the network, which of them are accessible from the internet, and what really needs to remain open.<\/span><\/p>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">In this article, we will look at 5 main solutions:<\/span><\/p>\n<ol>\n<li><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Check open ports on the server<\/span><\/li>\n<li><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Check which ports are visible from the outside<\/span><\/li>\n<li><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Determine which ports are actually needed<\/span><\/li>\n<li><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Stop or restrict unnecessary services<\/span><\/li>\n<li><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Close unnecessary ports through the firewall<\/span><\/li>\n<\/ol>\n<h2><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\"><b>1. Check Open Ports on the Server<\/b><\/span><\/h2>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">First, you need to understand which services are listening on the network on the server.<\/span><\/p>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Main command:<\/span><\/p>\n<pre><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">sudo ss -tulpn<\/span><\/pre>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">What the parameters mean:<\/span><\/p>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\"><span style=\"font-weight: 400;\">-t\u00a0 \u2014 TCP ports<br \/><\/span><span style=\"font-weight: 400;\">-u\u00a0 \u2014 UDP ports<br \/><\/span><span style=\"font-weight: 400;\">-l\u00a0 \u2014 only listening sockets<br \/><\/span><span style=\"font-weight: 400;\">-p\u00a0 \u2014 show the process<br \/><\/span><span style=\"font-weight: 400;\">-n\u00a0 \u2014 do not resolve ports and IPs into names<\/span><\/span><\/p>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Example output:<\/span><\/p>\n<pre><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">Netid State\u00a0 Local Address:Port\u00a0 Process<\/span><br \/><br \/><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">tcp \u00a0 LISTEN 0.0.0.0:22\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 users:((\"sshd\",pid=812,fd=3))<\/span><br \/><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">tcp \u00a0 LISTEN 0.0.0.0:80\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 users:((\"nginx\",pid=1043,fd=6))<\/span><br \/><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">tcp \u00a0 LISTEN 0.0.0.0:443 \u00a0 \u00a0 \u00a0 \u00a0 users:((\"nginx\",pid=1043,fd=7))<\/span><br \/><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">tcp \u00a0 LISTEN 127.0.0.1:3306\u00a0 \u00a0 \u00a0 users:((\"mysqld\",pid=1201,fd=21))<\/span><\/pre>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">It is important to understand the difference:<\/span><\/p>\n<pre><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">0.0.0.0:PORT\u00a0 \u00a0 \u00a0 \u2014 the service is listening on all interfaces<\/span><br \/><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">127.0.0.1:PORT\u00a0 \u00a0 \u2014 the service is available only locally<\/span><br \/><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">PUBLIC_IP:PORT\u00a0 \u00a0 \u2014 the service is listening on the public IP<\/span><\/pre>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">For example:<\/span><\/p>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\"><span style=\"font-weight: 400;\">0.0.0.0:22 \u00a0 \u00a0 \u00a0 \u2014 SSH is potentially accessible from the outside<br \/><\/span><span style=\"font-weight: 400;\">0.0.0.0:80 \u00a0 \u00a0 \u00a0 \u2014 HTTP is accessible from the outside<br \/><\/span><span style=\"font-weight: 400;\">0.0.0.0:443\u00a0 \u00a0 \u00a0 \u2014 HTTPS is accessible from the outside<br \/><\/span><span style=\"font-weight: 400;\">127.0.0.1:3306 \u00a0 \u2014 MySQL is available only locally<\/span><\/span><\/p>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Alternatively, you can use lsof:<\/span><\/p>\n<pre><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">sudo lsof -i -P -n | grep LISTEN<\/span><\/pre>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">This command is useful when you need to quickly see which process is using a specific port.<\/span><\/p>\n<h2><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\"><b>2. Check Which Ports Are Visible from the Outside<\/b><\/span><\/h2>\n<p data-start=\"48\" data-end=\"241\"><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">The ss and lsof commands show what the server itself is listening on. However, this does not always mean that the port is accessible from the internet. A firewall may block external access.<\/span><\/p>\n<p data-start=\"243\" data-end=\"354\"><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Therefore, it is important to check the server from the outside, for example with nmap from another computer:<\/span><\/p>\n<pre><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">nmap -Pn SERVER_IP<\/span><\/pre>\n<p data-start=\"400\" data-end=\"421\"><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Check specific ports:<\/span><\/p>\n<pre><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">nmap -Pn -p 22,80,443,3306,5432 SERVER_IP<\/span><\/pre>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Check a port range:<\/span><\/p>\n<pre><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">nmap -Pn -p 1-10000 SERVER_IP<\/span><\/pre>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">The difference is simple:<\/span><\/p>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\"><span style=\"font-weight: 400;\">ss\/lsof\u00a0 \u2014 shows what the server is listening on<br \/><\/span><span style=\"font-weight: 400;\">nmap \u00a0 \u00a0 \u2014 shows what is visible from the outside<\/span><\/span><\/p>\n<p data-start=\"717\" data-end=\"853\"><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">If ss shows a port, but nmap does not see it from the outside, it means the port is listening locally or is blocked by the firewall. If nmap shows the port as open, it means it is accessible from the outside.<\/span><\/p>\n<h2><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\"><b>3. Determine Which Ports Are Actually Needed<\/b><\/span><\/h2>\n<p data-start=\"46\" data-end=\"172\"><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Not every open port is a problem. The problem appears when a service that should not be public is accessible from the outside.<\/span><\/p>\n<p data-start=\"174\" data-end=\"239\"><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">For a regular web server, the following ports are usually enough:<\/span><\/p>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\"><span style=\"font-weight: 400;\">22\/tcp\u00a0 \u00a0 \u2014 SSH, preferably only for trusted IPs<br \/><\/span><span style=\"font-weight: 400;\">80\/tcp\u00a0 \u00a0 \u2014 HTTP<br \/><\/span><span style=\"font-weight: 400;\">443\/tcp \u00a0 \u2014 HTTPS<\/span><\/span><\/p>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">All other ports should be checked separately.<\/span><\/p>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Typical Ports and Recommendations<\/span><\/p>\n<table>\n<tbody>\n<tr>\n<td>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\"><strong>Service<\/strong><\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\"><strong>Port<\/strong><\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\"><strong>Should it be open to the outside?<\/strong><\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">SSH<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">22\/tcp<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Preferably only for trusted IPs or through a VPN<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">HTTP<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">80\/tcp<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Yes, if the server hosts websites<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">HTTPS<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">443\/tcp<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Yes, if the server hosts websites<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">MySQL\/MariaDB<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">3306\/tcp<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Usually no<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">PostgreSQL<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">5432\/tcp<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Usually no<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">Redis<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">6379\/tcp<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">No<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">MongoDB<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">27017\/tcp<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Usually no<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">Proxmox VE<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">8006\/tcp<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Preferably only through a VPN or allowlist<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">WHM\/cPanel<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">2086\/2087\/tcp<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Preferably restricted by IP<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">Plesk<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">8443\/tcp<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Preferably restricted by IP<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">Portainer<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">9000\/9443\/tcp<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Preferably restricted by IP or VPN<\/span><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\"><strong>Important<\/strong><\/span><br data-start=\"1069\" data-end=\"1072\" \/><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Databases, Redis, MongoDB, and control panels usually should not be open to the entire internet.<\/span><\/p>\n<h2><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\"><b>4. Stop Unnecessary Services or Restrict Them to localhost<\/b><\/span><\/h2>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">If a service is not needed, it is better to stop it and disable it from autostart.<\/span><\/p>\n<p data-start=\"141\" data-end=\"164\"><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Check running services:<\/span><\/p>\n<pre><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">systemctl --type=service --state=running<\/span><\/pre>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Check a specific service:<\/span><\/p>\n<pre><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">systemctl status SERVICE_NAME<\/span><\/pre>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Stop a service:<\/span><\/p>\n<pre><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">sudo systemctl stop SERVICE_NAME<\/span><\/pre>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Disable autostart:<\/span><\/p>\n<pre><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">sudo systemctl disable SERVICE_NAME<\/span><\/pre>\n<p data-start=\"389\" data-end=\"407\"><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Stop and disable it at the same time:<\/span><\/p>\n<pre><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">sudo systemctl disable --now SERVICE_NAME<\/span><\/pre>\n<p data-start=\"576\" data-end=\"611\"><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">For example, if Apache is not used:<\/span><\/p>\n<pre><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">sudo systemctl disable --now apache2<\/span><\/pre>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">After that, check the ports again:<\/span><\/p>\n<pre><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">sudo ss -tulpn<\/span><\/pre>\n<p data-start=\"751\" data-end=\"834\"><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">If the service is needed, but only locally, it is better to bind it to 127.0.0.1.<\/span><br \/><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">For example, for MariaDB\/MySQL:<\/span><\/p>\n<pre><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">bind-address = 127.0.0.1<\/span><\/pre>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">For PostgreSQL:<\/span><\/p>\n<pre><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">listen_addresses = 'localhost'<\/span><\/pre>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">For Redis:<\/span><\/p>\n<pre><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">bind 127.0.0.1 ::1<\/span><br \/><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">protected-mode yes<\/span><\/pre>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">After changing the configuration, restart the service and check the port:<\/span><\/p>\n<pre><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">sudo systemctl restart SERVICE_NAME<\/span><br \/><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">sudo ss -tulpn | grep PORT<\/span><\/pre>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Expected result for a local service:<\/span><\/p>\n<pre><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">127.0.0.1:PORT<\/span><\/pre>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Good Practice<\/span><br data-start=\"1318\" data-end=\"1321\" \/><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">If a database is used only by a website or application on the same server, do not expose it on the public IP.<\/span><\/p>\n<h2><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\"><b>5. Close Unnecessary Ports Through the Firewall and Check Docker<\/b><\/span><\/h2>\n<p data-start=\"66\" data-end=\"219\"><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Even if a service needs to run, it does not mean it should be accessible to the entire internet. Unnecessary ports should be closed through the firewall.<\/span><\/p>\n<p data-start=\"221\" data-end=\"260\"><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">If you use UFW, first check the status:<\/span><\/p>\n<pre><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">sudo ufw status verbose<\/span><\/pre>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Allow only the required ports:<\/span><\/p>\n<pre><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">sudo ufw allow 22\/tcp<\/span><br \/><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">sudo ufw allow 80\/tcp<\/span><br \/><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">sudo ufw allow 443\/tcp<\/span><\/pre>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">If SSH should be accessible only from your IP:<\/span><\/p>\n<pre><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">sudo ufw allow from YOUR_TRUSTED_IP to any port 22 proto tcp<\/span><br \/><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">sudo ufw deny 22\/tcp<\/span><\/pre>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Close an unnecessary port, for example MySQL:<\/span><\/p>\n<pre><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">sudo ufw deny 3306\/tcp<\/span><\/pre>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Enable the firewall:<\/span><\/p>\n<pre><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">sudo ufw enable<\/span><\/pre>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Check the rules:<\/span><\/p>\n<pre><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">sudo ufw status numbered<\/span><\/pre>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Warning<\/span><br data-start=\"823\" data-end=\"826\" \/><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Before enabling the firewall, make sure the SSH port is allowed for your IP. Otherwise, you may lose access to the server.<\/span><\/p>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Separately, check Docker if it is installed:<\/span><\/p>\n<pre><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">docker ps<\/span><\/pre>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Dangerous example:<\/span><\/p>\n<pre><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">0.0.0.0:5432-&gt;5432\/tcp<\/span><br \/><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">0.0.0.0:6379-&gt;6379\/tcp<\/span><\/pre>\n<p data-start=\"1122\" data-end=\"1184\"><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">This means that PostgreSQL or Redis is exposed to the outside.<\/span><\/p>\n<p data-start=\"1186\" data-end=\"1272\"><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">If the database is needed only by other containers, do not publish it through <\/span>ports<span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">.<\/span><\/p>\n<p data-start=\"1274\" data-end=\"1278\"><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Bad:<\/span><\/p>\n<pre><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">ports:<\/span><br \/><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">\u00a0\u00a0- \"5432:5432\"<\/span><\/pre>\n<p data-start=\"1328\" data-end=\"1335\"><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Better:<\/span><\/p>\n<pre><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">services:<\/span><br \/><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\"> \u00a0postgres:<\/span><br \/><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\"> \u00a0\u00a0\u00a0image: postgres:16<\/span><br \/><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\"> \u00a0\u00a0\u00a0networks:<\/span><br \/><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\"> \u00a0\u00a0\u00a0\u00a0\u00a0- internal<\/span><br \/><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">networks:<\/span><br \/><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">\u00a0\u00a0internal:<\/span><\/pre>\n<h4><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Important<\/span><\/h4>\n<h4><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\"><span style=\"font-weight: 400;\">Docker can publish ports on the host. After starting containers, always check<\/span> docker ps, ss -tulpn<span style=\"font-weight: 400;\">, and an external <\/span>nmap<span style=\"font-weight: 400;\"> scan.<\/span><\/span><\/h4>\n<p data-start=\"1607\" data-end=\"1622\"><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\"><strong>Common Mistakes<\/strong><\/span><\/p>\n<p data-start=\"1624\" data-end=\"1637\"><strong><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Open Database<\/span><\/strong><\/p>\n<p data-start=\"1639\" data-end=\"1848\"><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Port 3306, 5432, 6379, or 27017 is open on 0.0.0.0 and accessible from the internet. This is dangerous, especially if the password is weak or the service is not configured with additional protection.<\/span><\/p>\n<p data-start=\"1850\" data-end=\"1884\"><strong><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">SSH Was Closed and Access Was Lost<\/span><\/strong><\/p>\n<p data-start=\"1886\" data-end=\"2055\"><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Before changing firewall rules, always check that SSH is allowed for your IP. Do not close the current SSH session until you open a new one and confirm that login works.<\/span><\/p>\n<p data-start=\"2057\" data-end=\"2112\"><strong><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">The Service Was Stopped, but Autostart Was Not Disabled<\/span><\/strong><\/p>\n<p data-start=\"2114\" data-end=\"2211\"><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">After a reboot, the server opens the port again because the service remains enabled in autostart.<\/span><\/p>\n<p data-start=\"2213\" data-end=\"2249\"><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Docker Exposed a Port to the Outside<\/span><\/p>\n<p data-start=\"2251\" data-end=\"2295\"><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">In docker-compose.yml, this was specified:<\/span><\/p>\n<pre><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">ports:<\/span><br \/><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">\u00a0\u00a0- \"5432:5432\"<\/span><\/pre>\n<p data-start=\"2345\" data-end=\"2513\"><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">As a result, the database became accessible from the public IP. If access is needed only between containers, use an internal Docker network without publishing the port.<\/span><\/p>\n<h3><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">The Service Listens on 0.0.0.0 Instead of 127.0.0.1<\/span><\/h3>\n<p data-start=\"2572\" data-end=\"2648\"><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">If the service is needed only locally, it is better to bind it to localhost.<\/span><\/p>\n<p data-start=\"0\" data-end=\"10\"><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\"><strong>Conclusion<\/strong><\/span><\/p>\n<p data-start=\"12\" data-end=\"64\"><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">In this article, we looked at only 5 main solutions.<\/span><\/p>\n<p data-start=\"66\" data-end=\"146\"><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">For a regular web server, it is usually enough to keep the following ports open:<\/span><\/p>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\"><span style=\"font-weight: 400;\">22\/tcp \u00a0 \u2014 SSH, preferably only for trusted IPs<br \/><\/span><span style=\"font-weight: 400;\">80\/tcp \u00a0 \u2014 HTTP<br \/><\/span><span style=\"font-weight: 400;\">443\/tcp\u00a0 \u2014 HTTPS<\/span><\/span><\/p>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">All other ports should either be closed or accessible only from a trusted network, VPN, or internal Docker network. This approach reduces the risk of attacks and makes the server safer for production workloads.<\/span><\/p>\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Open ports are network \u201centry points\u201d to a server. SSH, web servers, databases, control panels, mail services, Docker applications, and other services work through them. The more ports are open to the outside world, the larger the potential attack surface. Therefore, after installing a VPS or dedicated server, it is important to check which services [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[1095],"class_list":["post-20071","post","type-post","status-publish","format-standard","hentry","tag-ports"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to Check Open Ports on a Server<\/title>\n<meta name=\"description\" content=\"Learn how to check open ports on a Linux server, identify unnecessary services, close ports through the firewall, and verify Docker-published ports.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/unihost.com\/help\/check-open-ports-and-close-services\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Check Open Ports on a Server\" \/>\n<meta property=\"og:description\" content=\"Learn how to check open ports on a Linux server, identify unnecessary services, close ports through the firewall, and verify Docker-published ports.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/unihost.com\/help\/check-open-ports-and-close-services\/\" \/>\n<meta property=\"og:site_name\" content=\"Unihost.FAQ\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/unihost\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-15T12:39:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/unihost.com\/help\/minio.php?.\/unihost-logo-alt.png\" \/>\n\t<meta property=\"og:image:width\" content=\"250\" \/>\n\t<meta property=\"og:image:height\" content=\"141\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Unihost Support\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@unihost\" \/>\n<meta name=\"twitter:site\" content=\"@unihost\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Unihost Support\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/unihost.com\/help\/check-open-ports-and-close-services\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/unihost.com\/help\/check-open-ports-and-close-services\/\"},\"author\":{\"name\":\"Unihost Support\",\"@id\":\"https:\/\/unihost.com\/help\/#\/schema\/person\/bb5ae95f38577c920e6a7507888b715a\"},\"headline\":\"How to Check Open Ports and Close Unnecessary Services on a Server\",\"datePublished\":\"2026-05-15T12:39:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/unihost.com\/help\/check-open-ports-and-close-services\/\"},\"wordCount\":1027,\"publisher\":{\"@id\":\"https:\/\/unihost.com\/help\/#organization\"},\"keywords\":[\"Ports\"],\"inLanguage\":\"en\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/unihost.com\/help\/check-open-ports-and-close-services\/\",\"url\":\"https:\/\/unihost.com\/help\/check-open-ports-and-close-services\/\",\"name\":\"How to Check Open Ports on a Server\",\"isPartOf\":{\"@id\":\"https:\/\/unihost.com\/help\/#website\"},\"datePublished\":\"2026-05-15T12:39:33+00:00\",\"description\":\"Learn how to check open ports on a Linux server, identify unnecessary services, close ports through the firewall, and verify Docker-published ports.\",\"breadcrumb\":{\"@id\":\"https:\/\/unihost.com\/help\/check-open-ports-and-close-services\/#breadcrumb\"},\"inLanguage\":\"en\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/unihost.com\/help\/check-open-ports-and-close-services\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/unihost.com\/help\/check-open-ports-and-close-services\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Unihost\",\"item\":\"https:\/\/unihost.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Help\",\"item\":\"https:\/\/unihost.com\/help\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"How to Check Open Ports and Close Unnecessary Services on a Server\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/unihost.com\/help\/#website\",\"url\":\"https:\/\/unihost.com\/help\/\",\"name\":\"Unihost.FAQ\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/unihost.com\/help\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/unihost.com\/help\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/unihost.com\/help\/#organization\",\"name\":\"Unihost\",\"alternateName\":\"Unihost\",\"url\":\"https:\/\/unihost.com\/help\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\/\/unihost.com\/help\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/unihost.com\/help\/minio.php?2026\/01\/minio.png\",\"contentUrl\":\"https:\/\/unihost.com\/help\/minio.php?2026\/01\/minio.png\",\"width\":300,\"height\":300,\"caption\":\"Unihost\"},\"image\":{\"@id\":\"https:\/\/unihost.com\/help\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/unihost\/\",\"https:\/\/x.com\/unihost\",\"https:\/\/www.instagram.com\/unihost\/?hl=en\",\"https:\/\/www.linkedin.com\/company\/unihost-com\",\"https:\/\/www.youtube.com\/channel\/UCITKsxMDnslQY8brN3advgw\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/unihost.com\/help\/#\/schema\/person\/bb5ae95f38577c920e6a7507888b715a\",\"name\":\"Unihost Support\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\/\/unihost.com\/help\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a0c9db17c2a0d93e8a0d5ac123f8c5db750ad4d3d5657369c0c4e480f5af77b8?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a0c9db17c2a0d93e8a0d5ac123f8c5db750ad4d3d5657369c0c4e480f5af77b8?s=96&d=mm&r=g\",\"caption\":\"Unihost Support\"},\"sameAs\":[\"https:\/\/unihost.com\/\"],\"url\":\"https:\/\/unihost.com\/help\/author\/support\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Check Open Ports on a Server","description":"Learn how to check open ports on a Linux server, identify unnecessary services, close ports through the firewall, and verify Docker-published ports.","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:\/\/unihost.com\/help\/check-open-ports-and-close-services\/","og_locale":"en_US","og_type":"article","og_title":"How to Check Open Ports on a Server","og_description":"Learn how to check open ports on a Linux server, identify unnecessary services, close ports through the firewall, and verify Docker-published ports.","og_url":"https:\/\/unihost.com\/help\/check-open-ports-and-close-services\/","og_site_name":"Unihost.FAQ","article_publisher":"https:\/\/www.facebook.com\/unihost\/","article_published_time":"2026-05-15T12:39:33+00:00","og_image":[{"width":250,"height":141,"url":"https:\/\/unihost.com\/help\/minio.php?.\/unihost-logo-alt.png","type":"image\/png"}],"author":"Unihost Support","twitter_card":"summary_large_image","twitter_creator":"@unihost","twitter_site":"@unihost","twitter_misc":{"Written by":"Unihost Support","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/unihost.com\/help\/check-open-ports-and-close-services\/#article","isPartOf":{"@id":"https:\/\/unihost.com\/help\/check-open-ports-and-close-services\/"},"author":{"name":"Unihost Support","@id":"https:\/\/unihost.com\/help\/#\/schema\/person\/bb5ae95f38577c920e6a7507888b715a"},"headline":"How to Check Open Ports and Close Unnecessary Services on a Server","datePublished":"2026-05-15T12:39:33+00:00","mainEntityOfPage":{"@id":"https:\/\/unihost.com\/help\/check-open-ports-and-close-services\/"},"wordCount":1027,"publisher":{"@id":"https:\/\/unihost.com\/help\/#organization"},"keywords":["Ports"],"inLanguage":"en"},{"@type":"WebPage","@id":"https:\/\/unihost.com\/help\/check-open-ports-and-close-services\/","url":"https:\/\/unihost.com\/help\/check-open-ports-and-close-services\/","name":"How to Check Open Ports on a Server","isPartOf":{"@id":"https:\/\/unihost.com\/help\/#website"},"datePublished":"2026-05-15T12:39:33+00:00","description":"Learn how to check open ports on a Linux server, identify unnecessary services, close ports through the firewall, and verify Docker-published ports.","breadcrumb":{"@id":"https:\/\/unihost.com\/help\/check-open-ports-and-close-services\/#breadcrumb"},"inLanguage":"en","potentialAction":[{"@type":"ReadAction","target":["https:\/\/unihost.com\/help\/check-open-ports-and-close-services\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/unihost.com\/help\/check-open-ports-and-close-services\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Unihost","item":"https:\/\/unihost.com\/"},{"@type":"ListItem","position":2,"name":"Help","item":"https:\/\/unihost.com\/help\/"},{"@type":"ListItem","position":3,"name":"How to Check Open Ports and Close Unnecessary Services on a Server"}]},{"@type":"WebSite","@id":"https:\/\/unihost.com\/help\/#website","url":"https:\/\/unihost.com\/help\/","name":"Unihost.FAQ","description":"","publisher":{"@id":"https:\/\/unihost.com\/help\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/unihost.com\/help\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en"},{"@type":"Organization","@id":"https:\/\/unihost.com\/help\/#organization","name":"Unihost","alternateName":"Unihost","url":"https:\/\/unihost.com\/help\/","logo":{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/unihost.com\/help\/#\/schema\/logo\/image\/","url":"https:\/\/unihost.com\/help\/minio.php?2026\/01\/minio.png","contentUrl":"https:\/\/unihost.com\/help\/minio.php?2026\/01\/minio.png","width":300,"height":300,"caption":"Unihost"},"image":{"@id":"https:\/\/unihost.com\/help\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/unihost\/","https:\/\/x.com\/unihost","https:\/\/www.instagram.com\/unihost\/?hl=en","https:\/\/www.linkedin.com\/company\/unihost-com","https:\/\/www.youtube.com\/channel\/UCITKsxMDnslQY8brN3advgw"]},{"@type":"Person","@id":"https:\/\/unihost.com\/help\/#\/schema\/person\/bb5ae95f38577c920e6a7507888b715a","name":"Unihost Support","image":{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/unihost.com\/help\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a0c9db17c2a0d93e8a0d5ac123f8c5db750ad4d3d5657369c0c4e480f5af77b8?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a0c9db17c2a0d93e8a0d5ac123f8c5db750ad4d3d5657369c0c4e480f5af77b8?s=96&d=mm&r=g","caption":"Unihost Support"},"sameAs":["https:\/\/unihost.com\/"],"url":"https:\/\/unihost.com\/help\/author\/support\/"}]}},"_links":{"self":[{"href":"https:\/\/unihost.com\/help\/wp-json\/wp\/v2\/posts\/20071","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unihost.com\/help\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unihost.com\/help\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unihost.com\/help\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/unihost.com\/help\/wp-json\/wp\/v2\/comments?post=20071"}],"version-history":[{"count":8,"href":"https:\/\/unihost.com\/help\/wp-json\/wp\/v2\/posts\/20071\/revisions"}],"predecessor-version":[{"id":20080,"href":"https:\/\/unihost.com\/help\/wp-json\/wp\/v2\/posts\/20071\/revisions\/20080"}],"wp:attachment":[{"href":"https:\/\/unihost.com\/help\/wp-json\/wp\/v2\/media?parent=20071"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unihost.com\/help\/wp-json\/wp\/v2\/categories?post=20071"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unihost.com\/help\/wp-json\/wp\/v2\/tags?post=20071"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}