我有一个服务器,应该始终服务于https,我试图让nginx自动从httpredirect到https。 在这里阅读关于这个主题的其他问题,我写了下面的configuration:
server { listen 80; return 301 https://$host$request_uri; } server { listen 443 ssl; server_name *.amazonaws.com *.mydomain.com; ssl_certificate /home/ubuntu/mysite/ssl.cert; ssl_certificate_key /home/ubuntu/mysite/ssl.key; location = /favicon.ico { access_log off; log_not_found off; } location /static/ { autoindex on; alias /home/ubuntu/mysite/__staticfiles; } location / { include proxy_params; proxy_pass http://unix:/home/ubuntu/mysite/mysite.sock; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
注意* .amazonaws.com server_name是这样我就可以使用亚马逊公共DNS,例如“ec2-12-345-678-9.compute-1.amazonaws.com”
现在是这样的问题:当我input任何与亚马逊DNS的http地址,例如:
http://ec2-12-345-678-9.compute-1.amazonaws.com/admin
我正在redirect到这个:
https://%2A.amazonaws.com/admin
如果我去https:
https://ec2-12-34-567-8.compute-1.amazonaws.com/admin
我在这里:
https://ec2-12-34-567-8.compute-1.amazonaws.com%2Cec2-12-34-567-8.compute-1.amazonaws.com/admin/
我究竟做错了什么?
谢谢,