如何配置nginx的default.conf

时间:2018-08-14 13:55:29

标签: nginx dns nginx-location nginx-config

我正在尝试在default.conf中配置/etc/nginx/conf.d,以显示位于/home/ubuntu/project-source/company/entry/index.html的简单登录页面。

据我所知指向服务器正确设置了域

A: test24.company.io -> <aws-elastic-IP>

default.conf:

server {
    listen       80;
    server_name  localhost;

    index index.html;

    location / {
        root   /home/ubuntu/project-source/company/entry;
    }
}

server {
    server_name test24.company.io www.test24.company.io;

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/test24.company.io/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/test24.company.io/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}

server {
    if ($host = test24.company.io) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    listen      80;
    server_name test24.company.io www.test24.company.io;
    return 404; # managed by Certbot
}

其他问题:该项目将在2个子域上运行2个进程,例如sub1sub2,它们将分别在localhost:3001localhost:3002上运行,如何配置default.conf也要指出/代理这些过程?

2 个答案:

答案 0 :(得分:1)

首先使用这种方式将HTTP重定向到HTTPS

server {
listen 80;
listen [::]:80;
server_name example.com www.example.com; 
return 301 https://example.com$request_uri;
}

第二个您的服务器根目录未包含在SSL服务器中,它应该包含

root   /home/ubuntu/project-source/company/entry;

第三 您可以在其他端口上添加所需的应用程序。只需复制粘贴整个服务器代码并更改所需的值,例如根目录和PORT

编辑结束后保存并重新启动服务器

sudo service nginx restart

答案 1 :(得分:0)

好几天又好几个小时后,我才解决了这个问题:

  1. 在GoDaddy的DNS上,我添加了以下记录:
    A: test24.company.io -> <aws-elastic-IP>
    A: sub1.test24.company.io -> <aws-elastic-IP>
    A: sub2.test24.company.io -> <aws-elastic-IP>
    注释: 所有3条记录均指向相同的弹性IP,因此无需为每个子域设置单独的弹性IP。

  2. nginx conf文件配置如下: https://gist.github.com/ahmed-abdelazim/b3536c1780afc4215ef57633bbe77a88

This帖子是为服务器上不同端口设置nginx代理的非常有用的指南。

nginx配置文件中的其余所有内容均由certbot生成,该certbot还管理了从http到https的重定向。




mod注释:由于某种原因,我似乎无法在此答案中格式化GitHubGist的代码。