【问题标题】:403 Forbidden, Nginx config403 禁止,Nginx 配置
【发布时间】:2021-10-26 21:23:13
【问题描述】:

我刚开始使用 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 请求。如果我尝试通过 http://IP-IN-NUMBER:8000 访问,我确实看到了 400 错误您正在通过 HTTPS 访问开发服务器,但它只支持 HTTP。

此外,如果这与问题相关,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?非常感谢您的帮助!

【问题讨论】:

  • 好的,所以我将 root 编辑为 /var/www/html 但现在我收到 403 Forbidden 错误。我不知道如何处理。我正在相应地编辑问题。

标签: django nginx https digital-ocean nginx-config


【解决方案1】:

好的,所以我在其他帮助下想通了,我会回答以防万一它对其他人有帮助。基本上我只需要将我的 Django 文件放在 /var/www/html 的根目录中,这样它们就可以与索引文件放在一起。这样 Nginx 允许访问这个目录并且不会抛出 403 错误。

【讨论】:

    猜你喜欢
    • 2019-06-07
    • 2019-04-17
    • 2019-05-29
    • 1970-01-01
    • 2019-01-28
    • 2013-11-20
    • 2016-04-24
    • 2019-01-23
    相关资源
    最近更新 更多