Docker+Nginx環境にLet’sEncryptを導入したいです。
・現在の状況
①https://ドメイン名 で接続するとブラウザアドレスバーに鍵マークが表示され
httpsが有効化されていることが確認できます。
②https://ipアドレス:ポート番号 で接続すると、「保護されていない通信」と表示されます。
③①②ともに証明書の発行先はドメイン名です。
・現在の環境です。
ホストOS:CentOS7(さくらVPS)
Docker:nginx バージョン 1.15.6
・Nginxコンテナとホスト間ではホストの*.pemをマウントしています。
docker
1version: '3' 2services: 3 db: 4 image: mysql:5.7 5 volumes: 6 - ./mysql:/var/lib/mysql 7 environment: 8 MYSQL_ROOT_PASSWORD: root 9 MYSQL_DATABASE: test_db 10 MYSQL_USER: test 11 MYSQL_PASSWORD: test 12 TZ: 'Asia/Tokyo' 13 command: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci 14 15 ap: 16 build: . 17 command: gunicorn -b:8080 djangopj.wsgi 18 expose: 19 - "9000" 20 volumes: 21 - ./code:/code 22 depends_on: 23 - db 24 25 proxy: 26 build: ./nginx/. 27 ports: 28 - "8000:80" 29 - "443:443" 30 volumes: 31 - ./config:/etc/nginx/conf.d 32 - /etc/letsencrypt/live/ドメイン名/fullchain.pem:/etc/nginx/letsencrypt/fullchain.pem 33 - /etc/letsencrypt/live/ドメイン名/privkey.pem:/etc/nginx/letsencrypt/privkey.pem
Dockerfile
1server { 2 listen 443 ssl; 3 listen [::]:443 ssl http2; 4 server_name ドメイン名; 5 ssl_certificate /etc/nginx/letsencrypt/fullchain.pem; 6 ssl_certificate_key /etc/nginx/letsencrypt/privkey.pem; 7 8 location / { 9 root /usr/share/nginx/html; 10 index index.html index.htm; 11 } 12}
・その他試したこと
①LetsEncryptが執行していないか確認。
→/etc/letsencrypt/live以下を削除して、再度certbot certonly --standalone -tを打鍵して
設定しました。
②ドメインが有効か確認。
お名前.comで契約期間が有効であることを確認しました。
③さくらVPSでドメイン登録されているか確認。
コントロールパネルから確認しました。
何故ipアドレス接続だけ「保護されていない通信」となってしまうのか分からず、
沼にハマっています・・。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。