如何使用Nginx在AWS ec2上强制从http重定向到https

如何使用Nginx在AWS ec2上强制从http重定向到https,http,nginx,amazon-ec2,https,http-status-code-404,Http,Nginx,Amazon Ec2,Https,Http Status Code 404,我使用AWSEC2来托管我的Web应用程序,它运行在PHP上。我有SSL,但由于我的一些旧的反向链接有http请求。当这个请求被调用时,我的服务器用错误400的响应阻止http请求,所以我想预先将该http请求重定向到https 我尝试添加return301 https://$host$request\u uri到我的Nginx配置文件,但它不工作 我的Nginx配置文件 server { listen 80 default_server; listen [::]:80 def

我使用AWSEC2来托管我的Web应用程序,它运行在PHP上。我有SSL,但由于我的一些旧的反向链接有http请求。当这个请求被调用时,我的服务器用错误400的响应阻止http请求,所以我想预先将该http请求重定向到https

我尝试添加
return301 https://$host$request\u uri到我的Nginx配置文件,但它不工作

我的Nginx配置文件

server {

    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/html;

    index index.html index.htm index.nginx-debian.html;
    server_name _;
    location / {

        try_files $uri $uri/ =404;
    }

    return 301 https://$host$request_uri;
}

我该怎么做才能将http的请求重定向到https?

您的nginx配置是否有一个服务器可以监听en 443/https?@Mtxz是的,我已经从aws控制台面板打开了端口443,但在nginx配置文件中没有提到443。我想您的nginx需要443配置。在这里,您将所有请求重定向到https。但是,如果您的Nginx没有443侦听服务器,那么没有什么可以回答这个问题。当然,您需要一个有效的SSL证书。您的nginx配置是否有一个可以侦听en 443/HTTPS的服务器?@Mtxz是的,我已经从aws控制台面板打开了端口443,但在nginx配置文件中没有提到443。我想您的nginx需要443配置。在这里,您将所有请求重定向到https。但是,如果您的Nginx没有443侦听服务器,那么没有什么可以回答这个问题。当然,您需要一个有效的SSL证书。