0
Declined
Ajenti nginx with ssl Несоответствие в документации http://support.ajenti.org/topic/349870-ajenti-behind-nginx/
Последняя версия ajenti активно рекомендует использовать защищенное соединение по https. Все конфиги в базе знаний написаны для обычного соединения и оно в итоге не работает, что призывается пользователя (в том числе и меня) сильно раскуриться поиском и мануалами. Это не плохо, но если пользователю нужно исключительно тестирование, то это не гуманно.
Предлагаю заменить или добавить конфиг для nginx в статье на примерно такой вариант.
Предварительно требуется создать или перенести сертификаты (file.crt и file.key), если они есть.
server {
listen 443;
server_name your-domain-name-or-and-ip-adress;
client_max_body_size 20m;
access_log /var/log/nginx/ajenti-access.log;
error_log /var/log/nginx/ajenti-error.log;
ssl on;
ssl_certificate /path/to/server/ssl/file.crt;
ssl_certificate_key /path/to/server/ssl/file.key;
keepalive_timeout 60;
ssl_ciphers HIGH:!ADH:!MD5;
ssl_protocols SSLv3 TLSv1;
ssl_prefer_server_ciphers on;
proxy_buffers 16 64k;
proxy_buffer_size 128k;
location /ajenti {
rewrite (/ajenti)$ / break;
rewrite /ajenti/(.*) /$1 break;
proxy_pass https://your-domain-name-or-and-ip-adress:8000;
proxy_redirect / /ajenti/;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
proxy_read_timeout 5m;
}
}
Предлагаю заменить или добавить конфиг для nginx в статье на примерно такой вариант.
Предварительно требуется создать или перенести сертификаты (file.crt и file.key), если они есть.
server {
listen 443;
server_name your-domain-name-or-and-ip-adress;
client_max_body_size 20m;
access_log /var/log/nginx/ajenti-access.log;
error_log /var/log/nginx/ajenti-error.log;
ssl on;
ssl_certificate /path/to/server/ssl/file.crt;
ssl_certificate_key /path/to/server/ssl/file.key;
keepalive_timeout 60;
ssl_ciphers HIGH:!ADH:!MD5;
ssl_protocols SSLv3 TLSv1;
ssl_prefer_server_ciphers on;
proxy_buffers 16 64k;
proxy_buffer_size 128k;
location /ajenti {
rewrite (/ajenti)$ / break;
rewrite /ajenti/(.*) /$1 break;
proxy_pass https://your-domain-name-or-and-ip-adress:8000;
proxy_redirect / /ajenti/;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
proxy_read_timeout 5m;
}
}
Answer
Answer
Declined
1. В примере показан только необходимый минимум (location и bodysize) - скорее всего конфиг будут вставлять в конфиг уже существующего сайта (типичный юзкейс - https://abc.com/admin/ajenti)
2. Нет никакого смысла в SSL между nginx и ajenti.
2. Нет никакого смысла в SSL между nginx и ajenti.
Вот, что у меня получилось, когда я взял конфиг по умолчанию из мануала.
server {
server_name abc.ru;
access_log /var/log/nginx/ajenti.access.log;
error_log /var/log/nginx/ajenti.error.log;
listen 80;
client_max_body_size 20m;
location ~ /ajenti.* {
rewrite (/ajenti)$ / break;
rewrite /ajenti/(.*) /$1 break;
proxy_pass https://abc.ru:8000;
proxy_redirect / /ajenti/;
proxy_set_header Host $host;
proxy_set_header Origin https://$host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
}
}
При этом я получаю сообщение :
Insecure communication
Your credentials will be transmitted in plain text!
Это сообщения я не получаю когда у меня настроен ssl на nginx.
server {
server_name abc.ru;
access_log /var/log/nginx/ajenti.access.log;
error_log /var/log/nginx/ajenti.error.log;
listen 80;
client_max_body_size 20m;
location ~ /ajenti.* {
rewrite (/ajenti)$ / break;
rewrite /ajenti/(.*) /$1 break;
proxy_pass https://abc.ru:8000;
proxy_redirect / /ajenti/;
proxy_set_header Host $host;
proxy_set_header Origin https://$host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
}
}
При этом я получаю сообщение :
Insecure communication
Your credentials will be transmitted in plain text!
Это сообщения я не получаю когда у меня настроен ssl на nginx.
Customer support service by UserEcho
2. Нет никакого смысла в SSL между nginx и ajenti.