2016-12-06 42 views
5

Tôi đang xây dựng một thùng chứa docker cho một ứng dụng django, sử dụng nginx và uwsgi. Đối với cơ sở dữ liệu ứng dụng được sử dụng mysql, được đặt trong một container khác nhau và cả hai trong số đó là liên kết với một tập tin docker-compose.yml:Thêm chứng chỉ SSL vào thùng chứa mysql docker

version: '2' 
services: 
    mysql: 
     image: mysql:latest 
     environment: 
      -MYSQL_DATABASE: TheDatabase 
      -MYSQL_ALLOW_EMPTY_PASSWORD: 'yes' 
      -MYSQL_USER: TheUsername 
      -MYSQL_PASSWORD: ThePassword 

     ports: 
      -"3306:3306" 

    django: 
     build: . 
     volumes: 
      - .:/app 
     ports: 
      - "443:443" 
      - "8000:8000" 
     links: 
      - mysql 

Tôi đang sử dụng chứng chỉ SSL, đó là tự ký sử dụng OpenSSL và được bao gồm trong tệp nginx.conf. Vấn đề là mỗi khi tôi chạy các thùng chứa và cố gắng đăng nhập như superuser tôi nhận được lỗi sau đây 504 hết thời gian. Sau một số lượng khá suy nghĩ tôi đi đến kết luận rằng vấn đề là trong kết nối với cơ sở dữ liệu mysql. Tôi đã nhập vào thùng chứa mysql và thấy rằng Cơ sở dữ liệu ở đó và sau khi kiểm tra các bảng, tôi thấy rằng tất cả các bảng đã được tạo ra. Tuy nhiên, sau khi đọc nhật ký, tôi nhận thấy dòng sau:

[Warning] Failed to set up SSL because of the following SSL library error: SSL context is not usable without certificate and private key.

Làm cách nào để thêm khóa SSL và chứng chỉ khi tôi đang sử dụng hình ảnh sẵn sàng từ trung tâm docker? Đó có phải là lý do tôi nhận được 504 Lỗi hết thời gian không? Tôi cũng nhận được 3 cảnh báo sau đây:

[Warning] 'db' entry 'sys [email protected]' ignored in --skip-name-resolve mode.

[Warning] 'proxies_priv' entry '@ [email protected]' ignored in --skip-name-resolve mode.

[Warning] 'tables_priv' entry 'sys_config [email protected]' ignored in --skip-name-resolve mode

Trả lời

0

"If you want the server to be able to deploy with automatic support for secure connections, use the mysql_ssl_rsa_setup utility to create default SSL and RSA files:

shell> mysql_ssl_rsa_setup 

For more information, see Section 4.4.5, “mysql_ssl_rsa_setup — Create SSL/RSA Files”.

mysql_ssl_rsa_setup

Chỉ MySQL phiên bản máy chủ doanh nghiệp sẽ tạo ra các giấy chứng nhận cho bạn vào thời --initialize.

Courtesy-MySQL

Các vấn đề liên quan