フロントエンドサービスとバックエンドサービスで構成されるWebアプリケーションがあります。私は、証明書を暗号化してフロントエンドサービスを確保したいが、フロントエンドとバックエンドの間に安全な接続を使用する必要がある。カスタムポートにバックエンドサービスを提供しています。バックエンドを保護するために、私はnginxを使って自分のサーバーをプロキシしたいと思っています。しかし、私はそれを正しくするのに苦労しています。nginxでバックエンドサーバーへのTCPトラフィックを保護
server {
listen 8082;
server_name <my_domain_name>;
ssl on;
ssl_certificate /etc/letsencrypt/live/<my_domain>/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/<my_domain>/privkey.pem;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 SSLv3;
location/{
proxy_pass http://0.0.0.0:8081;
}
}
まず、私は、SSLなしで、それを介して取得したい:ここに私のnginxの構成です。しかし、それはこのようには動作しません.8082には何も提供されません。もしが動作すれば、私はここで私のletsencrypt証明書を使うことができると思っていました。
私は助けていただきありがとうございます!ありがとうございます!私はこの問題を考え出し
アップデートはiptablesの中でした。ポート8082を追加した後、それは機能しました。私が理解できないことは、なぜiptablesにはないが、ポート8081に接続できるのか。
しかし、今私はERR_SSL_PROTOCOL_ERROR
を試してみると、https://my_domain:8082になります。
listen 8082 ssl;
のようにlisten
の指示にssl
を追加しようとしました。それから私はERR_CONNECTION_RESET
を得る。
ポート80で実行しているサービスはありますか? –
はい、あります、なぜですか? – wwwater
nginxでサブドメインやサブディレクトリ(urisを意味する)からプロキシバックエンドにリダイレクトすることもできます。また、サービスがポート80で動作している場合は、リスンしているポートを変更してください。 –