
Я столкнулся с проблемой в nginx, которую не понимаю.
Я умею правильно настраивать и вызывать www.example.tech
и example.tech
.
Однако при добавлении еще одного поддомена survey.example.tld
в список два других все равно работают, но survey.example.tld
не работают.
В Chrome при попытке вызова появляется следующее сообщение об ошибке http://survey.example.tech/
:
Невозможно получить доступ к этому сайту. Проверьте, нет ли опечатки в survey.example.tech. DNS_PROBE_FINISHED_NXDOMAIN
Я почти уверен, что там нет опечатки, потому что я трижды проверил. www.example.tech
И example.tech
все еще работает.
Я использую nginx для пересылки запросов в приложение gunicorn/flask.
Поэтому я поместил свою конфигурацию в/etc/nginx/sites-enabled
$ cat /etc/nginx/sites-enabled/survey.example.tech
server {
server_name example.tech www.example.tech survey.example.tech;
location /static {
alias /opt/example.tech/my-domain-Survey-Website/static;
}
location / {
proxy_pass http://localhost:8003;
include /etc/nginx/proxy_params;
proxy_redirect off;
# Max file size allowed for upload by user. Here 1M = 1 Megabyte
client_max_body_size 1M;
# prevents warning messages when setting up let's encrypt
proxy_headers_hash_max_size 512;
proxy_headers_hash_bucket_size 128;
# Enable Websocket by adding these two options
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
}
и соответствующая услуга в/etc/systemd/system
$ cat /etc/systemd/system/gunicorn-my-domain-survey-flask.service
[Unit]
Description = gunicorn for my-domain website
After = network.target
[Service]
Environment=LOG_PATH=/opt/example.tech/example.tech-Survey-Website/gunicorn-logs
User = ubuntu
Group = ubuntu
WorkingDirectory = /opt/example.tech/example.tech-Survey-Website
ExecStart = /opt/example.tech/venv/bin/gunicorn --bind 127.0.0.1:8003 -w 1 --log-level debug --access-logfile ${LOG_PATH}/access-logfile.log --error-logfile ${LOG_PATH}/error.log --capture-output run_survey_website:app
[Install]
WantedBy = multi-user.target
Когда я запускаю это, все работает нормально, за исключением survey.example.tech
.
Что здесь происходит? Я неправильно понимаю настройку поддоменов с nginx?
решение1
Конфигурация nginx в порядке.
Вам необходимо добавить DNS-запись, survey.example.tech
указывающую на IP-адрес вашего сервера.