Как настроить 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 ответа
Хорошо, после многих дней и часов, ломая голову, я пришел к этому решению:
На 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 для каждого субдомена.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