У меня болит голова от Apache и Nginx. Когда я думаю, что один работает, другой нет, и наоборот ...
Чтобы объяснить это немного, парень:
У меня есть сервер с установленным Nextcloud, который работает с Apache2 и MySQL.
У меня Raspberry PI с Nginx, который действует как обратный прокси.
Раньше у меня была эта настройка, когда она не была чистой, поэтому я сорвал все и снова начал с, надеюсь, чистой конфигурацией.
Router 80/443 => Nginx RP => Nextcloud
Я перепробовал множество файлов конфигурации и документации, и теперь я застреваю с:
502 Bad Gateway
Nginx / 1.10.3
Независимо от того, какие изменения я делаю в Apache или Nginx, я все равно получаю одно и то же сообщение ...
Вот мой обратный файл конфигурации Nginx:
server {
listen rproxy_IP:80;
server_name cloud.domain.com;
return 301 https://$server_name$request_uri;
}
server {
listen rproxy_IP:443 ssl;
server_name cloud.domain.com;
#Log storage
access_log /var/log/nginx/cloud.domain.access.log;
error_log /var/log/nginx/cloud.domain.error.log;
#SSL Configurations
ssl on;
ssl_certificate /etc/nginx/ssl/crt.crt;
ssl_certificate_key /etc/nginx/ssl/key.key;
ssl_stapling on;
ssl_stapling_verify on;
location / {
add_header Front-End-Https on;
proxy_headers_hash_max_size 512;
proxy_headers_hash_bucket_size 64;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# whatever the IP of your cloud server is
proxy_pass https://nextcloud_IP;
}
}
Когда я смотрю на логи, я получаю это:
2018/08/27 13:42:25 [error] 19756#19756: *1 SSL_do_handshake() failed (SSL: error:1408F10B:SSL routines:ssl3_get_record:wrong version number) while SSL handshaking to upstream, client: **Public_IP**, server: **cloud.domain.com**, request: "GET / HTTP/1.1", upstream: "https://**nextcloud_IP**:443/", host: "**cloud.domain.com**"
У меня проблемы с пониманием, потому что до этого утра у меня была та же самая конфигурация, и у меня не было проблем.
А теперь вот мой конфиг Apache для Nextcloud:
<VirtualHost rproxy_IP:80>
DocumentRoot "/var/www/nextcloud"
ServerName cloud.domain.com
Redirect permanent / https://cloud.domain.com/
Alias cloud.domain.com /var/www/nextcloud
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/nextcloud/>
Options +FollowSymlinks
AllowOverride All
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
Satisfy Any
</Directory>
</VirtualHost>
А вот логи Apache:
[Mon Aug 27 13:21:19.874269 2018] [mpm_prefork:notice] [pid 36967] AH00169: caught SIGTERM, shutting down
[Mon Aug 27 13:21:20.899777 2018] [mpm_prefork:notice] [pid 37263] AH00163: Apache/2.4.18 (Ubuntu) OpenSSL/1.0.2g configured -- resuming normal operations
[Mon Aug 27 13:21:20.899811 2018] [core:notice] [pid 37263] AH00094: Command line: '/usr/sbin/apache2'
Я должен упомянуть, что использую подстановочный знак.
Маршрутизатор имеет переадресацию 80/443 на обратный прокси
Обратный прокси-сервер получает http и «увеличивает» его до https, а затем перенаправляет запрос в Apache-Nextcloud.
Сертификат работает хорошо.
Пожалуйста, помогите мне, ребята. Я не понимаю, что я делаю неправильно или что не работает и почему это не так. Пожалуйста, скажите мне, если вам нужно больше информации. Я не могу раскрыть имя домена, внутренний IP-адрес и общедоступный IP-адрес, как вы понимаете.
Заранее спасибо за ваши ответы.