nginx - nginx 将 http 重定向到 https 域
问题描述
我的应用程序在 AWS EC2 实例上运行。我有一个使用来自 cloudflare 的 HTTPS 的域名。我已将 cloudflare 的“A 记录”添加到 EC2 IP 地址
我使用的 Nginx 配置中的以下内容
步骤1)
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name inzack.com www.inzack.com;
rewrite ^\/[^\/]+\/(.*) /$1 redirect;
location / {
return 301 https://$server_name$request_uri;
}
}
server {
listen 443;
server_name inzack.com www.inzack.com;
ssl on;
ssl_certificate /home/ubuntu/certificates/inzack.crt;
ssl_certificate_key /home/ubuntu/certificates/inzack.key;
real_ip_header X-Forwarded-For;
set_real_ip_from 127.0.0.1;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://127.0.0.1:5000;
}
}
步骤 2) sudo nano /etc/nginx/sites-available/inzack.com
以下是文件中的条目:
upstream inzack.com {
server 127.0.0.1:5000;
}
server {
listen 80;
listen [::]:80;
server_name inzack.com;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarder-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass https://inzack.com;
proxy_redirect on;
}
}
我尝试了所有这些链接:
对此的任何帮助都会非常棒......
谢谢克
解决方案
无需更改 etc/Nginx/Sites-available/ 文件夹
Step 1) @cloudflare 将页面规则改为 Https
第2步)
server{
listen 80;
server_name inzack.com www.inzack.com;
location /
{
proxy_pass http://127.0.0.1:4000;
}
}
server {
listen 443;
server_name inzack.com www.inzack.com;
ssl on;
# copy these files from cloudflare save it as .crt and .key
# cop
ssl_certificate /home/ubuntu/certificates/inzack.crt;
ssl_certificate_key /home/ubuntu/certificates/inzack.key;
real_ip_header X-Forwarded-For;
set_real_ip_from 127.0.0.1;
location / {
proxy_pass http://127.0.0.1:4000;
}
}
重启 Nginx 服务器
推荐阅读
- nginx - 如何将 Content-Length 标头添加到缓存文件?
- java - 正则表达式从图像文件名中获取元素
- sql-server - 使用 MS SQL Server 在 VB.net 中具有多个用户的登录表单
- java - 将坐标从 3D 场景转换为 2D 叠加
- angular - 在下面的代码中使用 Take 和 switch rxjs 运算符
- java - OnclickListener 对于动态膨胀视图无法正常工作
- google-sheets - 当数字中的最后一位为 0 时,Importrange 不起作用
- css - 如何编写只在非IE、非Edge浏览器中有效的CSS?
- ios - Why is text encryption failing in CryptoSwift on Swift5?
- python - 如何在 HTTP POST 有效负载中存储 JPG 图像