我有一个客户端区域,它是 https 并且将其添加到 client.mydomain.com.conf 后运行良好:
server {
listen 0.0.0.0:80;
listen [::]:80;
server_name client.domain.com www.client.domain.com;
rewrite ^ https://$server_name$request_uri? permanent;
}
所有 client.domain.com/* 页面都是 https。
我还有一个管理区域,我厌倦了通过更改所有管理区域文件内容使其 SSL“优化”。
管理区域的链接是 client.mydomain.com/admin
我需要的是禁用 https 重定向仅到管理区域 client.mydomain.com/admin,而 client.mydomain.com/* 将被 https 重定向。
我尝试使用下面的代码,但出现错误〜/home/nginx/conf/globals/proxy.conf:38 nginx 中的重复位置“/”:配置文件 /etc/nginx/nginx.conf 测试失败〜
server {
listen 80;
server_name example.com;
location /admin {
# handle admin area here;
}
location / {
return 301 https://$http_host$request_uri$is_args$query_string;
}
}
server {
listen 443 ssl;
server_name example.com;
# ssl settings
location /admin {
return 301 http://$http_host$request_uri$is_args$query_string;
}
location / {
# handle all ssl pages here
}
}
这是“client.mydomain.com.conf”文件http://www.jsfiddle.net/LSyQq,它没有任何修改,并且这里是冲突的 proxy.confhttp://www.jsfiddle.net/LJY3C
答案1
尝试在配置中使用此行来重定向我的流量
location ^~ /admin/ {
rewrite ^ http://$http_host/$uri redirect;
}
如果有效的话请告诉我。
:)