【发布时间】:2019-06-18 03:46:29
【问题描述】:
我有一个在服务器上运行的网站,它将所有 HTTP 请求重定向到 HTTPS,如下所示。我还有一些服务器提供的 Django API(比如说https://www.example.com/apis/log)。我在 Ubuntu + Nginx 上运行 Django 实现,并使用 Let's Encrypt 安装了 SSL 证书。
server {
if ($host = www.example.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
if ($host = example.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
server_name xxx.xx.xx.xx example.com www.example.com;
listen 80;
return 404; # managed by Certbot
}
现在,我想做以下事情:
- 以当前设置运行网站(所有 HTTP 请求都应重定向到 HTTPS)
- Django API 应该同时使用 HTTP 和 HTTPS。因此,我希望 http://www.example.com/apis/log 和 https://www.example.com/apis/log 都可以访问。
【问题讨论】:
-
将
nginx配置为在HTTP上服务api
标签: django ssl django-rest-framework