2017-12-13 3 views
0

安全なネットワークを介してHorizo​​nサーバーを起動する必要があります。私が試したREADMEドキュメントに続き、このGitHubのレポ https://github.com/stellar/docker-stellar-core-horizonletsencryptを使用して安全なサーバー上でdockerアプリケーションを実行するには?

を使用して 、

docker run --rm -it -p "8000:8000" --name stellar stellar/quickstart --testnet 

このHTTPサーバのポート8000​​上で、私の地平線アプリを起動します。私はhttpsサーバー上で実行する必要があります。これについては、

docker run --rm -it -p "8000:443" --name stellar stellar/quickstart --testnet 

    docker run --rm -it -p "8000:8000" --name stellar stellar/quickstart --testnet docker --tlsverify --tlscacert=ca.pem --tlscert=cert.pem --tlskey=key.pem 

などのいくつかのものを試してみました。 nginxを使用してhttpsコールをサーバーからhttpコールにリダイレクトしようとしましたが、失敗しました。

セキュリティで保護されたサーバー上でドッキング用のコンテナを開始する方法を提供してください。

答えて

0

nginxを使用してdockerイメージ内でプロキシ設定を行う必要があります。 - :dockerfileとして

server { 
    listen    443 ssl; 
    server_name   www.example.com; 
    ssl_certificate  www.example.com.crt; 
    ssl_certificate_key www.example.com.key; 
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2; 
    ssl_ciphers   HIGH:!aNULL:!MD5; 
    ... 
} 
は、あなたがそれを次に "443 8000" 実行--rm -it -p

ドッキングウィンドウとしてドッキングウィンドウを実行してhttpsで動作し、ポート443 を公開変更することができ、dockerhubで利用可能ですあなたは公式を使用し、stellarコアまたはその場合のいずれかのdockerizedアプリケーション、すなわちWebサーバのHTTPSバージョンを展開する--testnet

https://hub.docker.com/r/stellar/quickstart/~/dockerfile/

+0

試しても動作しません。 最初のポートはドッカーポートを指定し、2番目のポートはコンテナポートを指定します。コンテナはここでは恒星です – NAVIN

0

-name恒星恒星/クイックスタートイメージを暗号化しましょう。

ここには、docker-compose.ymlファイルがあります。このファイルでは、証明書のプロセスを自動化するドッカー製作の中にドッキングされたWebサーバーを展開できます。

nginx: build: nginx-image links: - letsencrypt - app environment: - MY_DOMAIN_NAME=DOMAIN_NAME mem_limit: 2g cpu_shares: 256 # restart: always ports: - "80:80" - "443:443" volumes_from: - letsencrypt letsencrypt: image: quay.io/letsencrypt/letsencrypt:latest command: bash -c "sleep 6 && certbot certonly --standalone -d DOMAIN_NAME --text --agree-tos --email your_email --server https://acme-v01.api.letsencrypt.org/directory --rsa-key-size 4096 --verbose --renew-by-default --standalone-supported-challenges http-01" entrypoint: "" volumes: - /etc/letsencrypt - /var/lib/letsencrypt ports: - "80" - "443" environment: - TERM=xterm app: build: app-image ports: - "80"

サーバーのCNAMEと上記ファイルに電子メールIDとドメイン名を置き換えます。あなたのイメージの名前を割り当てる必要があるアプリケーションのセクション(あなたのケースの恒星のイメージでドッキングされたWebサーバー)。その後、安全に実行するにはdocker-compose builddocker-compose upを実行してください。

一度証明書を取得すると、hereのように単純にコンテナにマウントすることができます。または、上記の答えに記載されているdockerfileを編集して、セキュアポートで直接実行することもできます。

+0

TheresドッカーレポでTheres no docker-compose.ymlファイル。 他のプロジェクトでこれを見ました。 – NAVIN

0

私が今までに学んだことは、セキュリティで保護されたサーバー上でドッカーを実行できないことです。 Dockerはサービスを提供するポートを求めるだけです。 解決策は安全であることが必要なドッカーを使用している単純なアプリケーションです。ここで私はこのドッカーアプリケーションを理解することができませんでしたので、このためにnginxを使用しました。私のnginxのファイルは多少この

server { 
 
    listen 9000 ssl; 
 
    server_name 127.0.0.1; 
 

 
ssl_certificate /etc/letsencrypt/live/staging.globalblockchain.io/fullchain.pem; # managed by Certbot 
 
ssl_certificate_key /etc/letsencrypt/live/staging.globalblockchain.io/privkey.pem; # managed by Certbot 
 

 

 
    location/{ 
 
    proxy_pass http://127.0.0.1:8000; 
 
    } 
 
}

Whaiのように同じようloocked

iが、8000私の地元に安全な9000以上のコールをリダイレクトするためにnginxのを使用しました。8000ポート以上のすべてのコンテンツは安全な9000で利用でき、UIはこの安全な9000を使用することができました。

関連する問題