nginx - 在闪亮的服务器不工作的情况下,在 NGINX 中将 HTTP 重定向到 HTTPS
问题描述
在这里,我正在按照本教程设置闪亮的服务器并通过 nginx 将 http 重定向到 https。
我/etc/nginx/sites-available/example.com
用下面的配置设置了我的。我设法通过https://example.com访问闪亮的应用程序myapp。这意味着 nginx 正确地将 https://example.com路由到http://example.com:3838/myapp。
问题是当我访问http://example.com时, nginx 并没有将我重定向到https://example.com。
任何想法为什么会发生这种情况?
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
server_name example.com www.example.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name example.com www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers AES256+EECDH:AES256+EDH:!aNULL;
location / {
proxy_pass http://my_server_ip:3838/myapp;
proxy_redirect http://my_server_ip:3838/myapp/ https://$host/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_read_timeout 20d;
}
}
解决方案
我认为错误就在这里。一方面您应该输入应用程序的地址,例如 127.0.0.1,另一方面您要转发到文件夹 /myapp/。但这与 Nginx 不同。
从 proxy_pass 和 proxy_redirect 中删除:/myapp
推荐阅读
- angular - angular:6 typescript:2 primeng:7 导致“环境上下文中不允许使用 cli 初始化程序”
- css - 顺风:文本溢出:省略号?
- postgresql - TimescalDB 比纯 PostgreSQL 慢
- azure - Azure 人脸 API 定价?
- apache-drill - 使用REGEXP_REPLACE sql方法在apache钻中替换多个字符串
- angular - Angular:等待一个可观察对象的返回以启动另一个
- c++ - 二进制“==”:未找到运算符 - TCP 套接字 SFML
- c# - 使用另一个类 c# 更改标签文本
- shopify - Shopify product.price.liquid 数学过滤器显示不正确
- r - 如何从数百个 .csv 文件中的特定单元格中提取值?