我在django中有一个应用程序托管在AWS上。但是,在这些日子里,我使用django-tenant模式将它变成了多租户。在本地,它运行正常。我可以创建我的租户,并在本地django服务器上访问它们。然而,我不能在AWS上运行。
NGINX的.conf文件如下所示:
upstream django {
server unix:///home/ubuntu/folder_my_projct/mysite.sock; # for a file s$
}
# configuration of the server
server {
listen 80; address or $
server_name ssh *.example.com.br;
charset utf-8;
# max upload size
client_max_body_size 75M; # adjust to taste
location /media {
alias /home/ubuntu/folder_my_projct/media; # your Django project's$
}
location /static {
alias /home/ubuntu/folder_my_projct/static; # your Django project's$
}
# Finally, send all non-media requests to the Django server.
location / {
uwsgi_pass django;
include /home/ubuntu/folder_my_projct/uwsgi_params; # the uwsgi$
}
}
我确实为我在AWS上运行的项目做了准备,在我的虚拟机中一切都正常(makemigrations和migrate_schemas(。然而,当我尝试访问子域时,它不起作用。我访问子域的唯一更改是在上面的文件中,在点* .example.com.br
之前粘贴*。我尝试使用regex,但它也不能正常工作(server_name ~^(?<subdomain>.+).example.com.br $;
(。如果有人告诉我做错了什么,或者我需要做其他事情,我真的很感激。
更改此行server_name ssh *.example.com.br;
通过
server_name ssh.example.com.br *.example.com.br;
- 或
server_name *.example.com.br;
对于每个子域,您需要创建一个配置,具体取决于您想要访问的内容
server {
server_name ssh.example.com.br;
...
}
server {
server_name blabla.example.com.br;
...
}
server {
server_name *.example.com.br;
...
}