系统相关
首页 > 系统相关> > ssl-NGINX-此处不允许使用“服务器”指令

ssl-NGINX-此处不允许使用“服务器”指令

作者:互联网

我正在尝试重新配置NGINX安装,以代理到本地虚幻安装.

除此之外,我还添加了SSL(加密加密),但始终出现错误.

我得到的错误是-

nginx -t -c /etc/nginx/sites-available/ghost
nginx: [emerg] "server" directive is not allowed here in /etc/nginx/sites-available/ghost:1
nginx: configuration file /etc/nginx/sites-available/ghost test failed

这是我的配置

server {
       listen         80;
       server_name    domainnamehere.com;
       return         301 https://$server_name$request_uri;
}

server {
        listen 443;
        server_name www.nonstopdev.com;
        access_log      /var/log/nginx/domainnamehere.com.access.log;
        error_log       /var/log/nginx/domainnamehere.com.error.log;

        ssl on;
        ssl_certificate         /etc/letsencrypt/live/domainnamehere.com/fullchain.pem;
        ssl_certificate_key     /etc/letsencrypt/live/domainnamehere.com/privkey.pem;


        location / {
                proxy_set_header   X-Real-IP $remote_addr;
                proxy_set_header   Host      $http_host;
                proxy_pass         http://127.0.0.1:2368;
        }
}

以下配置工作正常,没有任何问题-

server {
    listen 80;
    server_name mydomainname.com;
    location / {
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   Host      $http_host;
        proxy_pass         http://127.0.0.1:2368;
    }
}

解决方法:

它看起来像是一个不完整的配置.

正常的NGINX配置以nginx.conf文件(即/etc/nginx/nginx.conf)开始,该文件声明用户,进程ID和其他必要的内容,后跟一个http {}分支.服务器{}分支通常保存在conf.d目录中,或者通常包含在nginx.conf中此http {}分支的末尾.因此,即使它们以服务器作为出节点开始,也并不是真正的外部节点.它在http节点内.

如果要直接加载配置文件,也许要确保它包含完整的nginx配置,包括这些缺少的部分?

标签:nginx,ssl,ghost,lets-encrypt
来源: https://codeday.me/bug/20191027/1945489.html