Meine Nodejs App wird auf AWS EB bereitgestellt. Ich habe den https Server bereits konfiguriert und es funktioniert gut. Jetzt muss ich jede Nicht-https-Anfrage an https mit dem www umleiten. als Präfix, wie folgt aus:AWS EB - Umleiten aller Zugriffe auf https
GET example.com => https://www.example.com
Ich bin mit nginx und meine EB-Instanz eine Instanz ohne Load Balancer vor ihm ist.
ich eine Konfigurationsdatei im .ebextensions Ordner mit diesem Code
Resources: sslSecurityGroupIngress: Type: AWS::EC2::SecurityGroupIngress Properties: GroupId: {"Fn::GetAtt" : ["AWSEBSecurityGroup", "GroupId"]} IpProtocol: tcp ToPort: 443 FromPort: 443 CidrIp: 0.0.0.0/0 files: /etc/nginx/conf.d/999_nginx.conf: mode: "000644" owner: root group: root content: | upstream nodejsserver { server 127.0.0.1:8081; keepalive 256; } # HTTP server server { listen 8080; server_name localhost; return 301 https://$host$request_uri; } # 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://nodejsserver; proxy_set_header Connection ""; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; } } /etc/pki/tls/certs/server.crt: mode: "000400" owner: root group: root content: | -----BEGIN CERTIFICATE----- my crt -----END CERTIFICATE----- /etc/pki/tls/certs/server.key: mode: "000400" owner: root group: root content: | -----BEGIN RSA PRIVATE KEY----- my key -----END RSA PRIVATE KEY----- /etc/nginx/conf.d/gzip.conf: content: | gzip on; gzip_comp_level 9; gzip_http_version 1.0; gzip_types text/plain text/css image/png image/gif image/jpeg application/json application/javascript application/x-javascript text/javascript text/xml application/xml application/rss+xml application/atom+xml application/rdf+xml; gzip_proxied any; gzip_disable "msie6"; commands: 00_enable_site: command: 'rm -f /etc/nginx/sites-enabled/*'
erstellt haben, ich bin sicher, aws Konto meine Config nimmt, weil de ssl fein arbeitet. Aber der HTTP-Block funktioniert nicht. Es gibt keine Weiterleitung.
Vielleicht ist mein Problem über das Umschreiben der ursprünglichen nginx Config von EB, wissen Sie, wie dies zu erreichen?
Können Sie mir bitte dabei helfen? Ich habe eine Menge Dinge ausprobiert ..
Danke
Mögliche Duplikat [Wie https auf elastischen Bohnenstengel zu zwingen?] (Http://stackoverflow.com/questions/14693852/how-to-force-https-on-elastic-beanstalk) –
vergessen zu sagen, dass ich Nginx und eb auf einer einzigen Instanz ohne Load Balancer davor verwenden! –
Haben Sie nach etwas wie "Nginx force SSL" gesucht? Auf diese Frage gibt es schon viele Antworten. –