На нашем Linux-сервере у нас есть какое-то веб-приложение, на котором работает собственный небольшой веб-сервер, ТОЛЬКО с использованием http. Это означает, что он не поддерживает ssl сам по себе. Итак, я ищу способ «что-то» упаковать перед этим маленьким веб-сервером / веб-приложением, чтобы он передавал https пользователю (обязательно), и он продолжал говорить http с веб-приложением локально (внутренний сервер).
я пытался найти что-то подобное. но тот факт, что я нашел МНОГО материала, охватывающего apache, ssl и обратный прокси, на самом деле не прояснил ситуацию. Я запутался больше, чем раньше.
Нужен совет, ключевые слова или пример конфигурации, которая позволяет это сделать.
Спасибо
Установите NGINX или аналогичный сервер перед вашим веб-приложением, которое проксирует трафик. Затем настройте NGINX с сертификатом SSL.
Настройте свое веб-приложение для работы на fx. порт 8080 и используйте этот фрагмент кода, чтобы проксировать его в NGINX:
location / {
proxy_pass http://127.0.0.1:8080/;
}
Весь серверный блок с включенным SSL должен выглядеть примерно так:
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;
location / {
proxy_pass http://127.0.0.1:8080/;
}
}
Пример конфигурации виртуального хоста Apache:
<VirtualHost *:443>
ServerName example.com
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined
SSLEngine on
SSLCertificateFile /path/to/certificatefile
SSLCertificateKeyFile /path/to/keyfile
<Location />
ProxyPass http://your-webserver:8080/
ProxyPassReverse http://your-webserver:8080/
</Location>
</VirtualHost>
Он не тестировался и может потребовать некоторых корректировок, но должен дать вам представление о том, как его настроить.
Вы можете попробовать перезаписать с помощью apache. Есть аналогичный вопрос, который задавали ранее, объясняющий, как. https://stackoverflow.com/questions/8371/how-do-you-redirect-https-to-http