403 禁止访问,Nginx 配置
403 Forbidden, Nginx config
我刚开始使用 Django,我尝试使用 Nginx 将我的项目部署到数字海洋服务器上。我正在尝试设置 SSL 和域(它们通过 SSL 检查器和 Google Dig DNS 看起来不错),但是当我尝试访问网页时,浏览器出现 403 错误:
403 禁止访问
nginx/1.14.0 (Ubuntu)
我一直在尝试使用 Nginx 配置进行不同的操作,但它似乎没有帮助,这是我现在拥有的:
http {
...
server {
listen 443;
ssl on;
ssl_certificate /etc/ssl/server_merged_key.crt;
ssl_certificate_key /etc/ssl/other_key.key;
root /var/www/html;
server_name domain.net www.domain.net ;
location / {
root /var/www/html;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header Host $http_host;
proxy_redirect off;
}
...
}
Django 项目位于服务器的主目录中,没有目录(只有两个文件夹 /mysite1/mysite/)。服务器启动正常。
当我在页面上看到 403 错误时,我在服务器端没有看到任何 GET 请求。我确实看到 400 错误您正在通过 HTTPS 访问开发服务器,但它仅支持 HTTP。如果我尝试通过 http://IP-IN-NUMBER:8000.
访问
此外,settings.py 看起来像这样,如果这与问题相关:
DEBUG = False
ALLOWED_HOSTS = ['IP-IN-NUMBERS','localhost', '127.0.0.1','HTTP_X_FORWARDED_PROTO', 'https','domain.net'
,'www.domain.net']
SESSION_COOKIE_SECURE = True
CSRF_COOKIE_SECURE = True
SECURE_SSL_REDIRECT = True
如何为 Django 正确设置 Nginx?非常感谢您的帮助!
好的,所以我在额外的帮助下弄明白了,我会给出答案以防对其他人有帮助。基本上我只需要将我的 Django 文件放在 /var/www/html 的根目录下,这样它们就可以与索引文件放在一起了。这样 Nginx 允许访问这个目录并且不会抛出 403 错误。
我刚开始使用 Django,我尝试使用 Nginx 将我的项目部署到数字海洋服务器上。我正在尝试设置 SSL 和域(它们通过 SSL 检查器和 Google Dig DNS 看起来不错),但是当我尝试访问网页时,浏览器出现 403 错误:
403 禁止访问 nginx/1.14.0 (Ubuntu)
我一直在尝试使用 Nginx 配置进行不同的操作,但它似乎没有帮助,这是我现在拥有的:
http {
...
server {
listen 443;
ssl on;
ssl_certificate /etc/ssl/server_merged_key.crt;
ssl_certificate_key /etc/ssl/other_key.key;
root /var/www/html;
server_name domain.net www.domain.net ;
location / {
root /var/www/html;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header Host $http_host;
proxy_redirect off;
}
...
}
Django 项目位于服务器的主目录中,没有目录(只有两个文件夹 /mysite1/mysite/)。服务器启动正常。
当我在页面上看到 403 错误时,我在服务器端没有看到任何 GET 请求。我确实看到 400 错误您正在通过 HTTPS 访问开发服务器,但它仅支持 HTTP。如果我尝试通过 http://IP-IN-NUMBER:8000.
访问此外,settings.py 看起来像这样,如果这与问题相关:
DEBUG = False
ALLOWED_HOSTS = ['IP-IN-NUMBERS','localhost', '127.0.0.1','HTTP_X_FORWARDED_PROTO', 'https','domain.net'
,'www.domain.net']
SESSION_COOKIE_SECURE = True
CSRF_COOKIE_SECURE = True
SECURE_SSL_REDIRECT = True
如何为 Django 正确设置 Nginx?非常感谢您的帮助!
好的,所以我在额外的帮助下弄明白了,我会给出答案以防对其他人有帮助。基本上我只需要将我的 Django 文件放在 /var/www/html 的根目录下,这样它们就可以与索引文件放在一起了。这样 Nginx 允许访问这个目录并且不会抛出 403 错误。