使用 cloudflare 和 ubuntu 16.04 LEMP WordPress 时出现 HTTPS 问题

使用 cloudflare 和 ubuntu 16.04 LEMP WordPress 时出现 HTTPS 问题

首先,我要说一下,我是系统管理方面的新手,这是一个我用来获得实践和经验的网站。

我有一个通过cloudflare 获得的 SSL,并且我已将其上传到/var/ssl/ssl.pem/var/ssl/ssl.key。我将文件夹权限更改为 chmod 700 /var/ssl。

我可以通过以下方式访问我的网站http://165.227.182.40/http://aaronstone.io/但不是https://aaronstone.io/

sudo ufw status返回:

WARN: / is group writable!
Status: active

To                         Action      From
--                         ------      ----
22                         LIMIT       Anywhere
443                        ALLOW       Anywhere
80                         ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
22 (v6)                    LIMIT       Anywhere (v6)
443 (v6)                   ALLOW       Anywhere (v6)
80 (v6)                    ALLOW       Anywhere (v6)
443/tcp (v6)               ALLOW       Anywhere (v6)

netstat -atpn节目

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      1392/mysqld
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      6504/nginx -g daemo
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1621/sshd
tcp        0      0 127.0.0.1:60484         127.0.0.1:3306          ESTABLISHED 5338/sshd: root
tcp        0      0 165.227.182.40:22       63.131.219.239:58963    ESTABLISHED 5338/sshd: root
tcp        0      0 127.0.0.1:3306          127.0.0.1:60484         ESTABLISHED 1392/mysqld
tcp        0    332 165.227.182.40:22       63.131.219.239:58846    ESTABLISHED 2096/sshd: aaron [p
tcp        0      0 165.227.182.40:80       108.162.216.205:14411   TIME_WAIT   -
tcp        0      0 127.0.0.1:60486         127.0.0.1:3306          ESTABLISHED 5338/sshd: root
tcp        0      0 127.0.0.1:3306          127.0.0.1:60486         ESTABLISHED 1392/mysqld
tcp6       0      0 :::80                   :::*                    LISTEN      6504/nginx -g daemo
tcp6       0      0 :::22                   :::*                    LISTEN      1621/sshd

我的 NginX 配置如下:

server {
    listen 80;
    listen [::]:80;

    # SSL configuration
    #
     listen 443 ssl;
     listen [::]:443 ssl;
         ssl_certificate /var/ssl/ssl.pem;
        ssl_certificate_key /var/ssl/ssl.key;

    root /var/www/html/;

    # Add index.php to the list if you are using PHP
    index index.php index.html index.htm index.nginx-debian.html;

    server_name aaronstone.io www.aaronstone.io;

    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        #try_files $uri $uri/ =404;
        try_files $uri $uri/ /index.php$is_args$args;
    }

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
             location ~ \.php$ {
        include snippets/fastcgi-php.conf;

        # With php7.0-cgi alone:
        #fastcgi_pass 127.0.0.1:9000;
        # With php7.0-fpm:
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    location ~ /\.ht {
        deny all;
    }
    location ~ /.well-known {
        allow all;
    }
}

nginx状态:

● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2018-02-07 19:22:19 UTC; 14min ago
  Process: 6492 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid
  Process: 5588 ExecReload=/usr/sbin/nginx -g daemon on; master_process on; -s reload (code=exited, stat
  Process: 6500 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCES
  Process: 6497 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status
 Main PID: 6504 (nginx)
    Tasks: 2
   Memory: 3.5M
      CPU: 505ms
   CGroup: /system.slice/nginx.service
           ├─6504 nginx: master process /usr/sbin/nginx -g daemon on; master_process on
           └─6505 nginx: worker process

Feb 07 19:22:19 aaronstone systemd[1]: Starting A high performance web server and a reverse proxy server
Feb 07 19:22:19 aaronstone systemd[1]: nginx.service: Failed to read PID from file /run/nginx.pid: Inval
Feb 07 19:22:19 aaronstone systemd[1]: Started A high performance web server and a reverse proxy server.

答案1

Nginx不听到端口 443,如您的 netstat 输出所示。您的 nginx 配置似乎是正确的,事实上我试过了,它对我来说是有效的。您有其他 Web 服务器正在运行吗?我怀疑端口 80 上运行着某些东西(例如 Apache/httpd),而 nginx 无法启动。

nginx 启动时是否没有任何错误消息?

如果您有 nginx 作为服务运行,那么输出是什么sudo service nginx status

如果添加参数对于 netstat 命令,例如sudo netstat -atpn,它显示监听地址的进程名称(有关man netstat详细信息,请参阅)。该行tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN属于 nginx 吗?

答案2

我的问题是我没有从/sites-available到的符号链接/sites-enabled

$ cd /etc/nginx/sites-enabled
$ sudo ln -sf ../sites-available/default .
$ sudo service nginx reload

相关内容