我使用了django ratelimit来防止对管理员登录页面的暴力攻击。当我使用python manage.py runserver并使用127.0.0.1:8000浏览时,django ratelimit可以完美地工作。但当我启动uwsgi和nginx并使用我的服务器IP(192.168.31.70:8080)登录时,django ratelimit不起作用:在管理员登录页面上没有登录限制
我猜这是缓存问题,可能是我在uwsgi或nginx上配置错误
请帮忙!提前谢谢
settings.py的一部分
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.humanize',
'import_export',
'ckeditor',
'ckeditor_uploader',
'easy_thumbnails',
'filer', #新闻管理用到了
'gbzt_coms',
'newspage',
'accounts',
'omsystem',
#'config',
'administration',
'notifications', # 待办提醒功能
'statistic',
'debug_toolbar',
'rangefilter',
#'django_extensions',
'ratelimit',
]
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'LOCATION': 'ratelimit-tests',
},
}
# CACHES = {
# 'default': {
# 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
# 'LOCATION': '192.168.31.70:9090',
# }
# }
# RATELIMIT_USE_CACHE = 'default'
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'debug_toolbar.middleware.DebugToolbarMiddleware',
'ratelimit.middleware.RatelimitMiddleware',
]
uwsgi.ini:
;static-map = /static=var/www/static
# clear environment on exit
vacuum = true
# ... with appropriate permissions - may be needed
chmod-socket = 666
# stat server
stats = 127.0.0.1:9191
#vhost = true #multi-site mode
#no-site = true #no entry module/file when multi-site mode
#workers = 2 #sub process number
#reload-mercy = 10
#max-requests = 1000
#limit-as = 512
#buffer-size = 30000
#env = LANG=UTF-8
#env = LC_ALL=UTF-8
#env = LC_LANG=UTF-8
#env = PYTHONIOENCODING=UTF-8
mysite_nginx.config:
# the upstream component nginx needs to connect to
upstream django {
# server unix:///home/lirui/UWSGI_Practise/mysite; # for a file socket
server 127.0.0.1:9090; # for a web port socket (we'll use this first)
}
# configuration of the server
server {
# the port your site will be served on
listen 8080;
# the domain name it will serve for
server_name _; # substitute your machine's IP address or FQDN
charset utf-8;
# max upload size
client_max_body_size 0; # adjust to taste
# Django media
location /media {
alias /home/lirui/www/gbzt_coms_new/2/media; # your Django project's media files - amend as required
}
location /static {
alias /home/lirui/www/gbzt_coms_new/2/var/www/static; # your Django project's static files - amend as required
}
# Finally, send all non-media requests to the Django server.
location / {
# keepalive 64;
uwsgi_read_timeout 120s;
uwsgi_send_timeout 120s;
uwsgi_pass django;
include /home/lirui/www/gbzt_coms_new/2/uwsgi/uwsgi_params; # /path/to/your/mysite/uwsgi_params; # the uwsgi_params file you installed
}
} ```
目前没有回答
相关问题 更多 >
编程相关推荐