Мне нужно перевернуть прокси на Apache
сервере, работающем на локальном хосте.Проблема в том, что Apache перенаправляет запросы в каталоги без конечной косой черты, в каталог с конечной косой чертой, как часть своей директивы DirectoryRewrite
.Приведенная ниже настройка nginx работает нормально, когда вы переходите на https://myhost/sw/myapp/, но если вы забудете завершающий слеш, вы в конечном итоге будете перенаправлены на http://myhost:8080/sw/myapp. Если не отключить директиву Apache DirectoryRewrite
, что я могу сделать, чтобы сделатьуверены, что /
всегда добавляется в конец любого запроса, чтобы Apache не перенаправлял?
server {
client_max_body_size 10240M;
listen 443 ssl;
server_name "";
ssl_certificate ../ssl/server.crt;
ssl_certificate_key ../ssl/server.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location /sw {
proxy_pass http://127.0.0.1:8080/sw;
proxy_redirect ~^http://127.0.0.1:8080/sw/([^.]*[^/])$ https://$host/sw/$1/;
proxy_redirect http://127.0.0.1:8080/ https://$host/;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_buffering off;
proxy_set_header HOST $host;
proxy_set_header Referer $http_referer;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
error_page 301 302 303 = @handle_redirect;
}