NGINX将旧的https域重定向到新的非https

时间:2016-02-13 13:15:30

标签: redirect ssl nginx

昨天我更改了我的域名帽子是foobar.tk,它是通过https运行的。目前,在我的新域名foobar.eu上,我没有ssl。

我在使用https时成功重定向使用CNAME记录,但不知何故我无法将https://www.example.tk重定向到http://www.example.eu Chrome表示该连接已重新设置。 Firefox说内容无法验证,......

对于重定向,我使用以下行:

server {
    listen 443; (note: i have tried with *:443, *:443 ssl, 443 ssl)
    server_name www.example.tk; (i have tried with orwithout www.)
    return 301 http://www.example.eu$request_uri; (i have tried to redir to $host also where then cname will handle the issue)
}

什么有效:

http://www.example.tk - > http://www.example.eu使用CNAME(和所有其他子域名)

什么不起作用:

https://www.example.tk - > http://www.example.eu

我仍然可以备份证书,所以如果它能以某种方式提供帮助,请告诉我。

谢谢

1 个答案:

答案 0 :(得分:1)

在Nginx上设置SSL时,您应该使用ssl_certificate and ssl_certificate_key directives

server {
    listen 443 ssl;
    server_name www.example.tk;
    ssl_certificate         /path/to/certificate; #.crt, .cert, .cer, or .pem file
    ssl_certificate_key     /path/to/private/key;
    return 301 http://www.example.eu$request_uri;
}

您可以从证书颁发机构获取这两个文件。

另外,您应该将ssl参数添加到listen指令。