Не получается настроить https при использовании nginx
Насколько я понимаю, nginx слушает порты :80 и :443, а apache - только :8080.
При запросе на сервер сначала загружаются все конфиги из /etc/nginx/sites-enabled/
Если server_name совпадает, то выполняется подошедший конфиг test, если нет подходящих, то срабатывает конфиг default, в котором прописан server_name localhost.
Внутри test, если порт 80, идет перенаправление запроса на 433-й.
В 443 прописаны ключи /etc/letsencrypt/live/test.example.com/fullchain.pem
Из 443-го, если запрошен скрипт, запрос перенаправляется в 127.0.0.1:8080 и его перехватывает apache.
там загружается подходящий конфиг с ServerName test.example.com и выполняется указанный скрипт.
Но в моем случае возникает ошибка неправильного сертификата. Страница открывается правильная, так что общий маршрут верен. Из-за чего возникают подобные проблемы?
Конфиг /etc/nginx/sites/enabled/test:
server {
listen 80;
server_name test.example.com;
rewrite ^ https://$host$request_uri? permanent;
}
server {
listen 443 ssl;
server_name test.example.com;
ssl_certificate /etc/letsencrypt/live/test.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/test.example.com/privkey.pem;
# Turn on OCSP stapling as recommended at
# https://community.letsencrypt.org/t/integration-guide/13123
# requires nginx version >= 1.3.7
ssl_stapling on;
ssl_stapling_verify on;
location /.well-known {
alias /var/www/test/.well-known;
}
location / {
try_files $uri $uri/ /index.php;
}
location ~ \.php$ {
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:8080;
}
location ~ /\.ht {
deny all;
}
}
Конфиг /etc/apache2/sites-enabled/test.conf:
<VirtualHost 127.0.0.1:8080>
ServerName test.example.com
ServerAdmin webmaster@example.com
DocumentRoot /var/www/test
ErrorLog /var/log/apache2/test/error.log
CustomLog /var/log/apache2/test/access.log combined
<Directory /var/www/test>
AllowOverride All
Options -Indexes
</Directory>
#RewriteEngine on
#RewriteCond %{SERVER_NAME} =test.example.com
#RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]
</VirtualHost>
RewriteEngine закомментировал, потому что перенаправление идет уже в nginx.
Я бы подумал, что проблема в сертификате, но до установки nginx все работало без проблем.