【发布时间】:2015-05-18 15:46:58
【问题描述】:
这是 nginx.conf。
出现问题,继续重定向。
我收到“重定向过多”错误。
有什么问题?
我想将“/aaa/test.do” uri 转换为 http。
不是“/aaa/test.do” uri 到 https。
请帮忙。谢谢。
map $uri $example_org_preferred_proto {
default https;
~^/aaa/test.do http;
}
........
server {
listen 80;
server_name www.test.com;
charset utf-8;
if ($example_org_preferred_proto = "https") {
return 301 https://$server_name$request_uri;
}
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_buffering off;
proxy_connect_timeout 60;
proxy_read_timeout 60;
proxy_pass http://wwwtestcom;
}
}
# HTTPS server
#
server {
listen 443;
server_name www.test.com;
charset utf-8;
ssl on;
ssl_certificate D:/nginx-1.7.10/ssl/cert.pem;
ssl_certificate_key D:/nginx-1.7.10/ssl/key.pem;
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers !ADH:RC4+RSA:+HIGH:!EXP:+eNULL:AES256-SHA;
ssl_prefer_server_ciphers on;
if ($example_org_preferred_proto = "http") {
return 301 http://$server_name$request_uri;
}
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_buffering off;
proxy_connect_timeout 60;
proxy_read_timeout 60;
proxy_pass http://wwwtestcom;
proxy_ssl_session_reuse off;
}
【问题讨论】:
标签: redirect nginx rewrite http-status-code-301