У меня есть nginx конфигурация:
listen 443;
server_name _;
ssl on;
ssl_certificate /opt/psa/var/certificates/scfp28eqh ;
ssl_certificate_key /opt/psa/var/certificates/scfp28eqh ;
location ~ ^/(api|socket\.io) {
proxy_pass https://myurl:60000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
#try_files $uri $uri/ =404;
}
location / {
proxy_set_header Host $host;
proxy_pass https://myurl/;
}
И это работает почти всегда, но возвращает 404, когда URL заканчивается с завершающим sla sh.
Я пытался удалить с этой строкой:
rewrite ^/(.*)/$ /$1 permanent;
А теперь это:
listen 443;
server_name _;
ssl on;
ssl_certificate /opt/psa/var/certificates/scfp28eqh ;
ssl_certificate_key /opt/psa/var/certificates/scfp28eqh ;
rewrite ^/(.*)/$ /$1 permanent;
location ~ ^/(api|socket\.io) {
proxy_pass https://myurl:60000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
#try_files $uri $uri/ =404;
}
location / {
proxy_set_header Host $host;
proxy_pass https://myurl/;
}
Но если вы введете URL с трейлингом sla sh, не работайте. Как удалить последний трейлинг сл sh в этом случае?