ssl - 不需要的 nginx 重定向到 https

标签 ssl nginx

我有一个像这样的 nginx 设置:

/etc/nginx/sites-available/default-ssl.conf:

server {

  listen 443 ssl;

  server_name my.server.name;

  ssl_certificate /etc/letsencrypt/live/my.server.name/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/my.server.name/privkey.pem;

  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_prefer_server_ciphers on;
  ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';

#  root /usr/share/nginx/html;
  root /var/www/html;
  index index.html index.htm;

  location / {
    try_files $uri $uri/ =404;
  }

  location /proxiedhost/ {
    rewrite ^/proxiedhost(/.*)$ $1 break;
    proxy_pass  http://127.0.0.1:6080/;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto https;
    proxy_redirect    off;
  }
  <<<< A couple more of these blocks >>>>
}
  server {
  listen 80;
  server_name origin.ticktockhouse.co.uk;
  return 301 https://$host$request_uri;
}

/etc/nginx/sites-available/aptrepo.conf:

server {
        listen   80; ## listen for ipv4; this line is default and implied

        root /home/aptrepo/;
        index index.html index.htm;

        server_name aptrepo.server.name;
}

我的问题是,当我浏览到 http://aptrepo.server.name 时,它会自动重定向到 https://aptrepo.server.name ,我没有 letsencrypt 证书。当然,我可以得到一个,但我并不是特别需要它,并且想弄清楚为什么会这样。

我愿意相信它是 default-ssl.conf 中的服务器 block ,但我很困惑为什么另一个服务器 block 不是完全独立的东西。我四处寻找解释,但不幸的是,大多数文章/问题都是关于如何让 https 重定向到 http - 显然这个问题我已经解决了!

最佳答案

可能是 nginx 没有选择正确的 server {} block 的情况。

仅出于测试目的,尝试注释掉 return 301 https://$host$request_uri; 并查看这是否解决了 aptrepo.server.name 上的问题/p>

关于ssl - 不需要的 nginx 重定向到 https,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40927475/

相关文章:

Azure 前门和自定义域

NGINX 位置 block 总是重定向到不同的位置

http - nginx 没有那个文件或目录

node.js - 使用 SSL 通过 nginx 代理 websocket 时出现混合内容错误

python - 在 Apache 中使用多个 WSGI 挂载点和 Nginx 反向代理

apache - 我可以将一些确切的远程 URL 映射到具有不同端口的本地 URL

java - 如何使用 JBOSS 配置摆脱谷歌浏览器中过时的密码套件问题

amazon-web-services - 为 HTTP 和 HTTPS 打开不同的站点

python flask 和 heroku webapp ERR_SSL_PROTOCOL_ERROR

macos - 具有真实证书的 Ocj-C 安全套接字服务器 - SSL 协议(protocol)错误(基于 GCDAsyncSockets)