Настройка https в одном экземпляре с запущенным докером

#amazon-elastic-beanstalk

Вопрос:

Я пытаюсь подключиться к своему экземпляру Elastic Beanstalk https. Я следил за документами, но все еще подключаюсь только через http(работают только http-запросы, где https-запросы говорят «отказать»). В моем коде (который является дротиком) Я служу в порту 8080. Когда я изменил его на 80, я получил плохую ошибку шлюза. Вот файлы в моей папке .ebextensions:

 Resources:  sslSecurityGroupIngress:  Type: AWS::EC2::SecurityGroupIngress  Properties:  GroupId: {"Fn::GetAtt" : ["AWSEBSecurityGroup", "GroupId"]}  IpProtocol: tcp  ToPort: 443  FromPort: 443  CidrIp: 0.0.0.0/0  

n

 Parameters:  privatekey:  Type: String  Description: "The path to the private key in Amazon S3"  Default: "https://elasticbeanstalk-us-west-2.s3.us-west-2.amazonaws.com/server.key"  publiccert:  Type: String  Description: "The public certificate"  Default: |  -----BEGIN CERTIFICATE-----  ...  -----END CERTIFICATE-----   ############################################## #### Do not modify values below this line #### ##############################################  files:  # nginx HTTPS configuration  /etc/nginx/conf.d/https.conf:  mode: "000644"  owner: root  group: root  content: |  # HTTPS Server   server {  listen 443;  server_name localhost;   ssl on;  ssl_certificate /etc/pki/tls/certs/server.crt;  ssl_certificate_key /etc/pki/tls/certs/server.key;   ssl_session_timeout 5m;   ssl_protocols TLSv1 TLSv1.1 TLSv1.2;  ssl_ciphers "EECDH AESGCM:EDH AESGCM:AES256 EECDH:AES256 EDH";  ssl_prefer_server_ciphers on;   location / {  proxy_pass http://docker;  proxy_http_version 1.1;   proxy_set_header Connection "";  proxy_set_header Host $host;  proxy_set_header X-Real-IP $remote_addr;  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  }  }   # Public certificate  /etc/pki/tls/certs/server.crt:  mode: "000400"  owner: root  group: root  content: { "Ref": "publiccert"}   # Private key  /etc/pki/tls/certs/server.key:  mode: "000400"  owner: root  group: root  authentication: "S3Auth"  source: { "Ref" : "privatekey" }  container_commands:  01restart_nginx:  command: "service nginx restart"  Resources:  # Use instance profile to authenticate to S3 bucket that contains the private key  AWSEBAutoScalingGroup:  Metadata:  AWS::CloudFormation::Authentication:  S3Auth:  type: "s3"  roleName:  "Fn::GetOptionSetting":  Namespace: "aws:autoscaling:launchconfiguration"  OptionName: "IamInstanceProfile"  DefaultValue: "aws-elasticbeanstalk-ec2-role"  

n

 files:  "/etc/nginx/sites-available/elasticbeanstalk-nginx-docker-proxy.conf":  owner: root  group: root  mode: "000644"  content: |  map $http_upgrade $connection_upgrade {  default "upgrade";  "" "";  }   server {  listen 8080;   gzip on;  gzip_comp_level 4;  gzip_types text/html text/plain text/css application/json application/x-javascript text/xml application/xml application/xml rss text/javascript;   if ($time_iso8601 ~ "^(d{4})-(d{2})-(d{2})T(d{2})") {  set $year $1;  set $month $2;  set $day $3;  set $hour $4;  }  access_log /var/log/nginx/healthd/application.log.$year-$month-$day-$hour healthd;   access_log /var/log/nginx/access.log;   location / {  set $redirect 0;  if ($http_x_forwarded_proto != "https") {  set $redirect 1;  }  if ($http_user_agent ~* "ELB-HealthChecker") {  set $redirect 0;  }  if ($redirect = 1) {  return 301 https://$host$request_uri;  }   proxy_pass http://docker;  proxy_http_version 1.1;   proxy_set_header Connection $connection_upgrade;  proxy_set_header Upgrade $http_upgrade;  proxy_set_header Host $host;  proxy_set_header X-Real-IP $remote_addr;  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  }  }  

Комментарии:

1. К сожалению, ваш вопрос неясен и не содержит подробностей. Вы даже не предоставили версию платформы EB, которую используете.

2. TBH Я понятия не имею, что означает версия EB. У меня есть Докер, работающий на 64-битной Amazon Linux 2/3.4.9.