4

所以我正在尝试部署我的网站并基本上尝试过

python manage.py check --deploy

并遵循它告诉我的内容:

WARNINGS:
?: (security.W004) You have not set a value for the SECURE_HSTS_SECONDS setting. If your entire site is served only over SSL, you may want to consider setting a value and enabling HTTP Strict Transport Security. Be sure to read the documentation first; enabling HSTS carelessly can cause serious, irreversible problems.
?: (security.W006) Your SECURE_CONTENT_TYPE_NOSNIFF setting is not set to True, so your pages will not be served with an 'x-content-type-options: nosniff' header. You should consider enabling this header to prevent the browser from identifying content types incorrectly.
?: (security.W007) Your SECURE_BROWSER_XSS_FILTER setting is not set to True, so your pages will not be served with an 'x-xss-protection: 1; mode=block' header. You should consider enabling this header to activate the browser's XSS filtering and help prevent XSS attacks.
?: (security.W008) Your SECURE_SSL_REDIRECT setting is not set to True. Unless your site should be available over both SSL and non-SSL connections, you may want to either set this setting True or configure a load balancer or reverse-proxy server to redirect all connections to HTTPS.
?: (security.W012) SESSION_COOKIE_SECURE is not set to True. Using a secure-only session cookie makes it more difficult for network traffic sniffers to hijack user sessions.
?: (security.W016) You have 'django.middleware.csrf.CsrfViewMiddleware' in your MIDDLEWARE, but you have not set CSRF_COOKIE_SECURE to True. Using a secure-only CSRF cookie makes it more difficult for network traffic sniffers to steal the CSRF token.
?: (security.W017) You have 'django.middleware.csrf.CsrfViewMiddleware' in your MIDDLEWARE, but you have not set CSRF_COOKIE_HTTPONLY to True. Using an HttpOnly CSRF cookie makes it more difficult for cross-site scripting attacks to steal the CSRF token.
?: (security.W018) You should not have DEBUG set to True in deployment.
?: (security.W019) You have 'django.middleware.clickjacking.XFrameOptionsMiddleware' in your MIDDLEWARE, but X_FRAME_OPTIONS is not set to 'DENY'. The default is 'SAMEORIGIN', but unless there is a good reason for your site to serve other parts of itself in a frame, you should change it to 'DENY'.
?: (security.W020) ALLOWED_HOSTS must not be empty in deployment.

基本上在settings.py中将所有这些设置为True并将Debug模式设置为False,然后将SECURE_HSTS_SECONDS = 300

但是,在执行此操作之前我忘记在服务器上设置我的站点,现在当我尝试访问它时,它在浏览器中给了我这个错误:

Secure Connection Failed

An error occurred during a connection to 127.0.0.1:8001. SSL received a record that exceeded the maximum permissible length. Error code: SSL_ERROR_RX_RECORD_TOO_LONG

    The page you are trying to view cannot be shown because the authenticity of the received data could not be verified.
    Please contact the website owners to inform them of this problem.

和 cmd 中的那些:

[14/Sep/2016 17:40:46] code 400, message Bad request syntax ('\x16\x03\x01\x00|\x01\x00\x00x\x03\x02\xd3\xb8S<\t¿°\xfd½U»ïä\x98\x99h\xb9¥±T~\x129\x05á\xc0V\t\x9a\xe3\x82E\x00\x00\x10\xc0\t\xc0\x13\xc0')
[14/Sep/2016 17:40:46] You're accessing the development server over HTTPS, but it only supports HTTP.

好的,它清楚地告诉我问题:我不支持 HTTPS,但设置已设置为支持它。但奇怪的是,即使在我删除了所有这些设置之后,网站仍然保持这种状态,我什至无法在开发中使用 DEBUG = True 访问它。

我什至尝试使用 git 恢复到执行此操作之前的版本,但没有帮助。同样的错误仍然存​​在。现在我真的很担心,也许我只是毁了它?请有人帮助我

4

1 回答 1

8

您是否尝试过使用其他浏览器来访问您的(开发)网站?也许是因为你在设置上给出的值SECURE_HSTS_SECONDS。如果这太高(比如 31536000 == 1 年),浏览器将继续访问https您网站的版本。

但是,您可以清除浏览器的 HSTS 设置。也许会有所帮助。

为了更好地理解 HSTS(如果这是问题),请阅读这篇文章。

让我知道这是否对您有帮助。

于 2016-12-16T11:59:13.930 回答