回答
收藏
分享
举报
niginx 配置 http 重定向到https
提问于2020-08-03 18:53

浏览 6.5k

背景环境

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.
已修改于2023-03-14 19:13



写下您的回答
发表回答
全部回答(6)

按点赞数排序

按时间排序

那就用wireshark

赞同

2

回复举报

回答于2020-08-06 08:36



回复陶辉
回复

你的这个是转发吧,跳转要用 rewrite 配置才能完成重定向

赞同

0

回复举报

回答于2023-08-07 15:14



回复Alive
回复

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

赞同

0

回复举报

回答于2020-08-22 08:06



回复陶辉
回复

我的环境是window10 没有 tcpdump命令

赞同

0

回复举报

回答于2020-08-05 10:59



回复尼古拉特斯拉平
回复

你好 陶辉

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

赞同

0

回复举报

回答于2020-08-05 10:57



回复尼古拉特斯拉平
回复

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

赞同

0

回复举报

回答于2020-08-04 09:12



回复陶辉
回复
提问者
尼古拉特斯拉平
这家伙很懒还未留下介绍~
0
文章
1
问答
0
粉丝
相关问答

NGINX Unit 的应用程序隔离是指能够将不同的应用程序在同一服务器上隔离运行,确保之间的相互影响最小化。主要是以下这几个方面:

  • 进程隔离: 确保每个应用程序在其自己的进程中运行,也就是意味着每个应用程序都有自己独立的内存空间和运行环境,从而避免了应用程序之间的内存干扰和冲突。
  • 文件系统隔离: 每个 NGINX Unit 应用程序可以有自己的文件系统隔离,也就是应用程序只能访问其分配的文件和目录,而不能访问其他应用程序的文件。这有助于防止应用程序之间的文件冲突和数据泄露。
  • 网络隔离: NGINX Unit 通过为每个应用程序分配独立的网络端口来实现网络隔离。这样,每个应用程序都可以独立监听和处理网络请求,而不会干扰其他应用程序的网络通信。
  • 环境隔离: 每个 NGINX Unit 应用程序可以拥有自己的环境变量,这样每个应用程序可以使用自己的配置和设置,而不会受到其他应用程序的影响。
  • 资源隔离: NGINX Unit 可以给每个应用程序分配特定的资源,如CPU和内存限制,同时也不会影响其他应用程序的性能和可用性。

如果想了解的话,去NGINX 官网找一下官方的文档看看,应该会更全面。

点赞 0
浏览 4k

这个nginx 不能简单实现,需要自己开发代理页面。

点赞 0
浏览 3.2k