Есть два стенда за натом, оба на сентос 7:
1. стенд (1) с хапрокси и бекендом в виде nginx (на нем только лежат страницы ошибок, он же является дефолтным бекендом). Тут же стоит certbot (клиент lets’encrypt), в хапрокси настроено получение сертификатов на любой сайт. После расшифровки сертификата, отправляет запрос на второй стенд. Для получения сертификата использую специальный бекенд ( в конфиге ниже).
2. Стенд (2) со связкой nginx+apache. Инжинкс принимает на 80 порту, обрабатывает статику, и отправляет на апачевский 8080.
Задача – соединить два стенда на одной машине. Порты распределила так: хапрокси – 80, инджиниксу – 8070, апачу – 8080. Всё работает, но сертификат получить не могу. Ошибки – ниже.
Конфиги:
cat /etc/haproxy/haproxy.cfg
[root@conf126 nginx]# cat /etc/haproxy/haproxy.cfg
#-------------------------
# Глобальные настройки
#-------------------------
global
log 127.0.0.1 local2 # Лог конфигурации
chroot /var/lib/haproxy # Запирает службы в её дериктории
pidfile /var/run/haproxy.pid
maxconn 10000
user haproxy # Haproxy запускается под пользователем и группой "haproxy"
group haproxy
daemon # Запускается демоном
stats socket /var/lib/haproxy/stats
tune.ssl.default-dh-param 2048
ssl-default-bind-ciphers ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
ssl-default-bind-options no-sslv3 no-tls-tickets
ssl-default-server-ciphers ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
ssl-default-server-options no-sslv3 no-tls-tickets
defaults
mode
log global
option forwardfor
option http-server-close
option httplog
option dontlognull
option redispatch
retries 3
timeout http-request 10s
timeout queue 1m
timeout connect
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 3000
frontend http
bind :80
reqadd X-Forwarded-Proto:\ http
default_backend localhost
#----------------------------------
# certbot
acl letsencrypt-acl path_beg /.well-known/acme-challenge/
use_backend letsencrypt-backend if letsencrypt-acl
# test.domen.ru
use_backend test.domen.ru if { hdr_end(host) -i test.domen.ru } { dst_port 80 }
#----------------------------------
frontend https
bind :443
http-request set-header X-SSL %[ssl_fc]
http-request add-header X-Forwarded-Proto https if { ssl_fc }
reqadd X-Forwarded-Proto:\ https
default_backend localhost
#----------------------------------
backend localhost
server server1 127.0.0.1:8070
# test.domen.ru
backend test.domen.ru
server test.domen.ru 127.0.0.1:8070
# certbot
backend letsencrypt-backend
server letsencrypt 127.0.0.1:54321
cat /etc/nginx/nginx.conf
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log crit;
include /usr/share/nginx/modules/*.conf;
###################################################
events {
worker_connections 1024;
}
###################################################
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
server_names_hash_max_size 2048;
server_names_hash_bucket_size 512;
##################################################
server_tokens off;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
##################################################
include /etc/nginx/mime.types;
default_type application/octet-stream;
##################################################
gzip on;
gzip_min_length 1100;
gzip_buffers 4 32k;
gzip_types text/plain application/x-javascript text/xml text/css;
ignore_invalid_headers on;
client_header_timeout 3m;
client_body_timeout 3m;
client_header_buffer_size 4k;
client_max_body_size 1024m;
send_timeout 3m;
connection_pool_size 256;
client_body_buffer_size 4096k;
charset UTF-8;
#############################################
proxy_connect_timeout 3600s;
proxy_send_timeout 3600s;
proxy_read_timeout 3600s;
proxy_buffer_size 512k;
proxy_buffers 512 4096k;
proxy_busy_buffers_size 4096k;
proxy_temp_file_write_size 4096k;
##############################################
large_client_header_buffers 4 64k;
request_pool_size 4k;
output_buffers 4 32k;
postpone_output 1460;
include /etc/nginx/conf.d/*.conf;
}
cat /etc/nginx/conf.d/test.domen.ru.conf
server {
listen 8070;
server_name test.domen.ru www.test.domen.ru;
root /web/site/test.domen.ru;
location / {
}
}
ls -la /web/site
drwxr-xr-x 2 nginx nginx 24 апр 20 13:03 test.domen.ru
В логах инджиникса – чисто. При получении сертификата выдает ошибки:
The following errors were reported by the server:
Domain: test.domen.ru
Type: connection
Detail: Fetching
http://test.domen.ru/.well-known/acme-challenge/J2WyfEgZBH6C7qYcURdZG5yOB1mNe8b8F--Q36j4UBA:
Timeout after connect (your server may be slow or overloaded)
Domain: www.test.domen.ru
Type: connection
Detail: Fetching
http://www.test.domen.ru/.well-known/acme-challenge/0PuIG74SFcZ1pOvWq661XWgTBJnwBbGAKto4q_ByGfo:
Timeout after connect (your server may be slow or overloaded)
To fix these errors, please make sure that your domain name was
entered correctly and the DNS A/AAAA record(s) for that domain
contain(s) the right IP address. Additionally, please check that
your computer has a publicly routable IP address and that no
firewalls are preventing the server from communicating with the
client. If you're using the webroot plugin, you should also verify
that you are serving files from the webroot path you provided.
Подскажите куда смотреть, чтобы сертификат получить? Домен доступен, в браузере отображается.