Nginx 可通过多种方式实现 http 跳转 https,以下列出各种方式的实现方法。
一、return 301
这是 Nginx 新版本的写法,推荐使用。在 Nginx 80 监听服务上加一行:
return 301 https://$server_name$request_uri; #http跳转https
完整配置如下:
#管理端
server {
listen 10003;
server_name localhost;
try_files $uri $uri/ /index.html;
root /home/source/shop/manager/dist;
}
#管理端转发
server {
listen 80;
server_name admin-xxxxx.xxx.xxx;
return 301 https://$server_name$request_uri; #http跳转https
}
#管理端https
server {
listen 443 ssl;
server_name admin-xxxxx.xxx.xxx;
ssl_certificate ../cert/server.crt;
ssl_certificate_key ../cert/server.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://localhost:10003;
}
}
二、rewrite
Nginx 老版本的写法,不推荐使用。将 “#http跳转https” 这行修改为:
rewrite ^(.*)$ https://admin-xxxxx.xxx.xxx permanent;
或
rewrite ^(.*)$ https://$host$1 permanent;
三、497 状态码
将 “#http跳转https” 这行修改为:
error_page 497 https://$host$uri?$args;
四、meta 刷新
写一个 index.html,内容是 http 向 https 跳转:文章来源:https://www.toymoban.com/news/detail-542688.html
index.html
<html>
<meta http-equiv=”refresh” content=”0; url=https://admin-xxxxx.xxx.xxx/”>
</html>
再修改 Nginx 配置文件,将 “#http跳转https” 这行修改为:文章来源地址https://www.toymoban.com/news/detail-542688.html
error_page 404 https://admin-xxxxx.xxx.xxx
到了这里,关于Nginx配置http跳转https的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!