Имам настройка на уеб сървър на Apache зад обратен прокси Nginx, работещ с SSL и поддомейни.
Работи добре за почти всичко, с изключение на това, че ако забравя последното / в края на url адреса (напр. https://vps.com/url
няма / в края), Apache ме пренасочва към своя локален порт (Apache слуша само 127.0 .0.1, порт 4000 и ако забравя /, той ме пренасочва към https://vps.com:4000/url/
, което очевидно не работи).
Това е моята конфигурация на nginx:
server {
listen 443 ssl;
// SSL Certificate location & such
access_log /var/log/nginx/apache-ssl-access.log;
error_log /var/log/nginx/apache-ssl-error.log;
server_name <my remote url>;
location ~ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:4000;
}
location ~ /\.ht {
deny all;
}
}
и това е конфигурационният файл на apache, който обработва услугата:
<VirtualHost 127.0.0.1:4000>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
LogLevel warn ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Сървърът ми е настроен на машина Debian8, работеща със следните версии:
Apache/2.4.10
nginx/1.10.2
Не знам какво е пренасочване или как мога да предотвратя това, някаква идея?
proxy_pass http://127.0.0.1:4000;
сproxy_pass http://vps.artemix.xyz:4000/;
? - person Dusan Bajic   schedule 23.11.2016