niginx 配置 http 重定向到https

背景环境

window10;
nginx-1.17.3

想要实现功能

重定向 http:1.1.1.1:8080/aaa/bbb 到 https://127.0.0.1/aaa//bbb 上

我做的事

通过脚本生成证书
$ openssl genrsa -des3 -out server.key 1024
$ openssl req -new -key server.key -out server.csr
$ cp server.key server.key.org
$ openssl rsa -in server.key.org -out server.key
$ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
我的nginx.conf 关于server部分如下:

server {
listen 443;
server_name www.jiping.com;
client_max_body_size 1g;
ssl_certificate ./ssl/server.crt;
ssl_certificate_key ./ssl/server_nopwd.key;
ssl_session_timeout 5m;
ssl_ciphers SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers off;
add_header Strict‐Transport‐Security max‐age=63072000;
add_header X-Frame-Options SAMEORIGIN;
add_header Content-Security-Policy “default-src ‘self’ http: https: data: blob: ‘unsafe-inline’” always;
add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection “1; mode=block”;
add_header Strict-Transport-Security “max-age=31536000; includeSubdomains;”;
add_header Set-Cookie “HttpOnly”;
add_header Set-Cookie “Secure”;
location / {
proxy_pass http://127.0.0.1:80/;
fastcgi_ignore_client_abort on;
proxy_store off;
proxy_redirect off;
proxy_ignore_client_abort on;
proxy_connect_timeout 300s;
proxy_read_timeout 300s;
proxy_send_timeout 300s;
proxy_next_upstream http_502 http_504 http_404 error timeout invalid_header;
proxy_set_header Host $host;
proxy_set_header REMOTE_ADDR $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header HTTP_X_FORWARDED_FOR $remote_addr;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}

问题

当我访问https://www.jiping.com/
却没有跳转到我想要跳转的地方http://127.0.0.1:80/
www.jiping.com sent an invalid response.
邀请回答
提问于 2020-08-03 18:53
426 次浏览
共5个回答

发表评论
  • 陶辉
    2020-08-06 08:36

    那就用wireshark

    2
    回复
    举报
  • 陶辉
    2020-08-22 08:06

    你的目的不是“重定向 http:1.1.1.1:8080/aaa/bbb 到 https://127.0.0.1/aaa//bbb 上”吗?那你得有一个server{ listen 8080; },才能接收到8080的请求,通过return 302 可以完成重定向啊

    0
    回复
    举报
  • 尼古拉特斯拉平
    2020-08-05 10:59

    我的环境是window10 没有 tcpdump命令

    0
    回复
    举报
  • 尼古拉特斯拉平
    2020-08-05 10:57

    你好 陶辉

        我的环境是window10的,没有 tcpdump的命令

    0
    回复
    举报
  • 陶辉
    2020-08-04 09:12

    用tcpdump -i lo port 80 -A -s 0抓包,把返回的内容列出来看下

    0
    回复
    举报
提问者

尼古拉特斯拉平

暂无个人介绍

  • 0

    文章

  • 0

    粉丝

  • 0

    被赞

尼古拉特斯拉平
按Enter键发送
您已邀请位用户
版权所有©F5 Networks,Inc.保留所有权利。京ICP备16013763号-5