Т.е. если нету правильной куки должно выкидывать 403. А оно просто работает. Спасибо.
location = /get-access {
# Set a cookie to allow this user see the real site!
add_header Set-Cookie "demo_access=$new_demo_access; Max-Age=60";
return 301 https://$host/;
}
location / {
secure_link $cookie_demo_access;
secure_link_md5 "$remote_addr mykey";
if ($secure_link = "") { return 403; }
if ($secure_link = "0") { return 403; }
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ /.*\.php(/|$) {
fastcgi_index index.php;
fastcgi_pass php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
include fastcgi_params;
fastcgi_intercept_errors on;
}
}
У тебя вроде этот конфиг не должен пройти тест, так как у тебя корневой локейшен внутри корневого
Та работает нормально. Вот рабочий конфиг: server { listen 80; server_name localhost; root /var/www/html; location /get-access { # Set a cookie to allow this user see the real site! # echo -n '127.0.0.1 mykey' | openssl md5 -binary | openssl base64 | tr +/ -_ | tr -d = # rhx6-t5idPvSINAp1Nt2nA add_header Set-Cookie demo_access=rhx6-t5idPvSINAp1Nt2nA; return 301 http://$host/; } location / { secure_link $cookie_demo_access; secure_link_md5 "$remote_addr mykey"; if ($secure_link = "") { return 418; } if ($secure_link = "0") { return 418; } location / { } location /test.html { } } } Почему secure_link не отрабатывает?
Убери вложенный локейшен /, зачем он там?
Обсуждают сегодня