nginx - 在 Nginx 中将某些 url 从 https 重定向到 http
问题描述
我有一个安装/启用了 ssl 的 Nginx 配置,一切正常,但我需要在某些 url 上禁用 https。我试图实现这一点,但我被困在 https 到 http 和返回之间的重定向循环中。请在下图中查看我的配置,任何帮助将不胜感激。
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name server_domain.com www.server_domain.com;
root /var/www/html/path_to_app_folder;
index index.php index.html index.htm;
listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/server_domain/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/server_domain/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
location ~ ^(/prime.*) {
#default_type text/html;
#return 200 http://$server_name$request_uri;
return 301 http://$server_name$request_uri;
}
}
解决方案
利用$scheme
if ($scheme = https) {
return 301 http://$server_name$request_uri;
}
推荐阅读
- vue.js - jsPdf表 - 所有表列不可见
- c++ - c++是如何编译的?(关于变量声明)
- java - 如何编写代码来计算我的网站在java中的访问次数(spring mvc)
- sql - 使用另一个表中的计数更新列:我的查询不起作用。我收到一个错误
- ios - “错误:EMFILE:打开的文件太多”使用 Xcode 归档 React Native App
- flutter - 颤振网络构建版本,但 nginx 路由 404
- php - 创建一个类似 view() 的 Larvel 方法来导入其他文件
- reactjs - 删除firebase React中的数据
- latex - 乳胶图标题中的脚注
- angular - 为什么 Angular Project 在创建构建后不起作用?