IP 地址显示默认的 Nginx 欢迎页面,但 URL 显示的是已安装的 WP 站点

IP 地址显示默认的 Nginx 欢迎页面,但 URL 显示的是已安装的 WP 站点

我已经在 Digital Ocean 的 Ubuntu 中的 LEMP 堆栈上安装了 WordPress。

当我使用 Droplet IP 地址访问它时,它会显示默认的 nginx 欢迎页面;但是当我使用它的 URL 时,它会显示网站上安装的实际 WordPress 网站。

  1. 可能存在什么问题?
  2. 就安全而言,最佳做法是什么?

这是我的 nginx 配置:

# Redirect HTTP -> HTTPS
server {
    listen 80;
    server_name www.mysite.in mysite.in;

    include snippets/letsencrypt.conf;
    return 301 https://mysite.in$request_uri;
}

# Redirect WWW -> NON WWW
server {
    listen 443 ssl http2;
    server_name www.mysite.in;

    ssl_certificate /etc/letsencrypt/live/mysite.in/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/mysite.in/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/mysite.in/chain.pem;
    include snippets/ssl.conf;

    return 301 https://mysite.in$request_uri;
}

server {
    listen 443 ssl http2;
    server_name mysite.in;

    root /var/www/html/mysite.in;
    index index.php;

    # SSL parameters
    ssl_certificate /etc/letsencrypt/live/mysite.in/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/mysite.in/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/mysite.in/chain.pem;
    include snippets/ssl.conf;
    include snippets/letsencrypt.conf;

    # log files
    access_log /var/log/nginx/mysite.in.access.log;
    error_log /var/log/nginx/mysite.in.error.log;

    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
        expires max;
        log_not_found off;
    }

}

答案1

当您不指定主机时,您的 Nginx 必须提供默认服务器配置。您显示的那些都有一个服务器名称。

答案2

在您的 nginx 配置中,您使用的服务器名称是 mysite.in。因此,当您使用 URL(mysite.in) 访问它时,它可以正常工作,但使用 IP 地址则不行。因为 nginx 仅期望将服务器名称作为 url。

如果您想从 URL 和 IP 地址访问它,您可以使用下划线作为服务器名称。

服务器名称 _;

相关内容