admin管理员组文章数量:1642360
一,使用rewrite指令
server {
listen 80;
server_name domain;
rewrite ^(.*) https://$server_name$1 permanent;
}
server {
listen 443 ssl;
server_name domain;
ssl on;
ssl_certificate /etc/nginx/ssl/domain.crt;
ssl_certificate_key /etc/nginx/ssl/domain.crt;
# other
}
如果此时nginx作为Tomcat的前端反向代理的话,需要将相应配置放在配置ssl的server块中。
二,使用return指令
server {
listen 80;
server_name domain;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name domain;
ssl on;
ssl_certificate /etc/nginx/ssl/domain.crt;
ssl_certificate_key /etc/nginx/ssl/domain.crt;
# other
}
如果此时nginx作为Tomcat的前端反向代理的话,需要将相应配置放在配置ssl的server块中。
三,使用error_page指令
只允许HTTP来访问时,用HTTP访问会让Nginx报497错误,然后利用error_page将链接重定向至HTTPS上。
server {
listen 80;
listen 443 ssl;
server_name domain;
ssl on;
ssl_certificate /etc/nginx/ssl/domain.crt;
ssl_certificate_key /etc/nginx/ssl/domain.crt;
# other
error_page 497 https://$server_name$request_uri;
}
使用error_page指令时,将http和https的监听配置写在同一个server块中,对应的其他配置也需要在该server配置块中完成。
需要注意的是,此时需要将error_page
指令语句写在最后,否则不能生效。
版权声明:本文标题:nginx三种方法配置http跳转https 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1729336553a1197060.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论