У меня есть демон Openfire , работающий по адресу http://192.168.2.33:9090
(без SSL), и я хочу связать его через прокси с именем хоста https://openfire.example.com
(у меня есть сертификат SSL).
Как бы я это сделал? Когда я добавляю строку SSL в конфигурацию nginx, она показывает ошибку SSL. Вот мой текущий конфиг без поддержки ssl:
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 80;
server_name openfire.example.com;
location / {
proxy_pass http://192.168.2.33:9090;
proxy_redirect http://192.168.2.33:9090/ $scheme://$host/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_read_timeout 20d;
auth_basic "Private Property";
auth_basic_user_file /etc/nginx/.htpasswd;
}
}
Эта конфигурация выдает ошибку 502 Bad gateway.
Незначительное изменение (как показано ниже) приводит к ERR_TOO_MANY_REDIRECTS.
server {
listen *:80;
listen *:443;
server_name openfire.example.com;
ssl on;
ssl_protocols SSLv3 TLSv1;
ssl_certificate /etc/letsencrypt/live/openfire.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/openfire.example.com/privkey.pem;
location / {
rewrite ^(.*)$ https://openfire.example.com$1 permanent;
proxy_pass http://192.168.2.33:9090;
proxy_redirect http://192.168.2.33:9090/ $scheme://$host/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_read_timeout 20d;
}
}