Как настроить default.conf для nginx

Я пытаюсь настроить 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 поддоменах, скажем так sub1 а также sub2 и они будут бежать localhost:3001 а также localhost:3002 соответственно как настроить default.conf указать / прокси на эти процессы, а?

2 ответа

Решение

Хорошо, после многих дней и часов, ломая голову, я пришел к этому решению:

  1. На DNS GoDaddy я добавил эти записи:
    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. Conf файл nginx настроен следующим образом: https://gist.github.com/ahmed-abdelazim/b3536c1780afc4215ef57633bbe77a88

Этот пост является очень полезным руководством по настройке прокси-серверов nginx для разных портов на вашем сервере.

Все остальное в конфигурационном файле nginx генерируется certbot, который также управлял перенаправлением с http на https.




Примечание для модов: я не могу отформатировать код GitHubGist в этом ответе по какой-то причине.

Сначала используйте этот способ для перенаправления 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;

В-третьих, вы можете добавлять приложения на разные порты. просто скопируйте и вставьте весь код сервера и измените желаемые значения, такие как местоположение root и PORT

после завершения редактирования сохранить и перезагрузить сервер

sudo service nginx restart
Другие вопросы по тегам