поэтому я пытался обратный прокси Alfresco 5.0.d Community через наш обратный прокси Nginx. В настоящее время обратный прокси-сервер используется только для обслуживания нашей службы поддержки. Я впервые настраиваю обратный прокси, так что терпите меня. Основная цель этого обратного прокси-сервера - шифрование TLS всех наших внутренних веб-приложений в Интернете с помощью сертификатов, выпущенных Let's Encrypt.
Мне удалось добиться успеха обратного проксирования Alfresco с http внутри на http извне или с http: // x.x.x.x: 8080 / share на http: // alfresco.companyname.com, и, насколько я могу судить, это работает отлично. Конфигурация серверного блока, которую я использовал для этого:
server {
listen 80;
server_name alfresco.companyname.com;
rewrite ^/$ /share;
location / {
root /share/;
proxy_pass http://x.x.x.x:8080;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Нам неудобно оставлять сервер на незашифрованном соединении, поэтому я пытался включить TLS и в этой настройке, но после входа в систему я продолжаю получать страницу с ошибкой.
Блок сервера с включенным SSL:
server {
listen 443 ssl;
server_name alfresco.companyname.com;
ssl on;
ssl_certificate /etc/ssl/certs/alfrescochained.pem;
ssl_certificate_key /etc/ssl/private/alfrescopriv.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
ssl_prefer_server_ciphers on;
rewrite ^/$ /share;
location / {
root /share/;
proxy_pass http://x.x.x.x:8080;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Журналы ошибок Alfresco не очень информативны, и я новичок в Nginx (я пробовал Apache для начала, но столкнулся с множеством проблем). У кого-нибудь есть рекомендуемые вещи, которые можно попробовать?
Я решил проблему. Я заменил http: //x.x.x.x: 8080 с участием https: //x.x.x.x: 8443. Сначала я забыл заменить http на https, но я вспомнил об этом, и теперь он работает. Я получал предупреждения о небезопасных страницах, связанных с подключением в Chrome. Я вышел из офиса, и мои файлы cookie для входа истекли, а после повторного входа в систему предупреждения о небезопасности исчезли, так что, возможно, это было связано с этим.
Это всего лишь предположение. Но Alfresco может выдать небезопасный файл cookie для входа, который безопасный интерфейс (совершенно справедливо) не возвращает. Так что процесс входа в систему просто умирает в кучу.
Если Alfresco поддерживает это, есть заголовок, который обычно используется для информирования о том, что клиентское соединение действительно безопасно. Пытаться:
proxy_set_header X-Forwarded-Proto $scheme;