重定向 HTTP to HTTPS in Nginx
将http请求重定向为https,使所有连接都使用安全的ssl。
重定向所有http请求
以下配置为将所有收到的80端口的请求都重定向到443端口,这会把此ip下的所有域名都转换:
server {
listen 80;
listen [::]:80;
server_name _;
return 301 https://$host$request_uri;
}
listen 80 default_server 表示这是唯一监听80端口的server块
server_name _ 表示监听所有使用的域名
重定向特定域名
以下配置为重定向特定域名的请求,此方式适用于此ip下绑定多个域名的情况:
server {
listen 80;
listen [::]:80;
server_name your.domain;
return 301 https://your.domain$request_uri;
}
443 server block
设定我们的域名只接收443端口的访问:
server {
listen 443 ssl default_server;
listen [::]:443 ssl;
server_name foo.com;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name bar.com;
}
...
只能设置一个域名为default_server。