everyone. I have a project in docker-compose with RabbitMQ and Nginx. I want to use SSL connection when using management panel. I want to use Nginx as reverse proxy.
My setup:
docker-compose:
services: nginx: image: nginx:1.25.1 ports: - '80:80' - '443:443' volumes: - ./certs:/usr/share/certs - ./nginx/global/nginx.conf:/etc/nginx/nginx.conf env_file: - .env rabbitmq: image: rabbitmq:3.13.1 hostname: rabbitmq ports: - "0.0.0.0:15673:15673" container_name: 'rabbitmq' restart: always env_file: - .env environment: - RABBITMQ_DEFAULT_USER=${RABBITMQ_USER} - RABBITMQ_DEFAULT_PASS=${RABBITMQ_PASS} - RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS=-rabbit disk_free_limit 2147483648 volumes: - rabbitmq_data:/var/lib/rabbitmq - ./certs/$TDS_HOSTNAME:/etc/ssl - ./configs/$TDS_HOSTNAME/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf:ro healthcheck: test: ["CMD", "rabbitmqctl", "status"] interval: 30s timeout: 30s retries: 15 start_period: 10svolumes: rabbitmq_data:
rabbitmq.conf:
listeners.ssl.default = 15673ssl_options.cacertfile = /etc/ssl/ca_cert.pemssl_options.certfile = /etc/ssl/fullchain.pemssl_options.keyfile = /etc/ssl/privkey.pemssl_options.verify = verify_peerssl_options.fail_if_no_peer_cert = truemanagement.listener.port = 15672management.listener.ssl = false
nginx template:
# itds_nginx.conf# configuration of the server# Mozilla Intermediate configuration server_tokens off; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;server { listen 80; server_name ${TDS_HOSTNAME}; location /.well-known/acme-challenge/ { root /var/www/certbot; } location / { return 301 https://$host$request_uri; }}server { access_log /var/log/nginx/access.log combined if=$loggable; # https support listen 443 ssl; server_name ${TDS_HOSTNAME}; charset utf-8; # Sertificates # Подставитьпутик ssl сертификату ssl_certificate /usr/share/certs/${TDS_HOSTNAME}/${SSL_CERT_FILENAME}; ssl_certificate_key /usr/share/certs/${TDS_HOSTNAME}/${SSL_CERT_PRIVKEY_FILENAME}; # security add_header X-Frame-Options "SAMEORIGIN" always; add_header X-XSS-Protection "1; mode=block" always; add_header X-Content-Type-Options "nosniff" always; add_header Referrer-Policy "strict-origin-when-cross-origin" always; add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; add_header Permissions-Policy "geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(self),magnetometer=(),gyroscope=(self),fullscreen=(self),payment=(),sensors=(self)"; add_header Feature-Policy "geolocation none;midi none;notifications none;push none;sync-xhr none;microphone none;camera self;magnetometer none;gyroscope self;speaker self;vibrate none;fullscreen self;payment none;sensors self"; # Максимальныйразмерзагружаемыхфайлов client_max_body_size 10M; # adjust to taste #Enable GZIP gzip on; gzip_vary on; gzip_proxied any; gzip_comp_level 6; gzip_buffers 16 8k; gzip_http_version 1.1; gzip_types text/css text/javascript application/javascript application/json text/xml application/octet-stream; # this is the internal Docker DNS, cache only for 30s resolver 127.0.0.11 valid=30s; location ~* /rabbitmq/api/(.*?)/(.*) { proxy_pass http://rabbitmq:15672/api/$1/%2F/$2?$query_string; proxy_buffering off; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } location ~* /rabbitmq/(.*) { rewrite ^/rabbitmq/(.*)$ /$1 break; proxy_pass http://rabbitmq:15672; proxy_buffering off; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }}
When I go to https://my_site.com/rabbitmq/ I get an error: undefined: There is no template at js/tmpl/login.ejs undefined
. Does anyone know how to fix it?
Tried to follow rabbitmq docs