我有本地门户(强制门户),这是https并将所有http请求重定向到本地https工作正常。 但是将请求从https重定向到本地https门户网站根本不起作用。 我在这里如何配置nginx:
upstream flask_portal {
server unix:/tmp/flask_portal.sock;
}
server {
listen 172.31.3.1:443 default_server;
rewrite ^(.*) https://my_site.com?url=$server_name$1;
}
server {
listen 172.31.3.1:80 default_server;
listen 172.31.3.1:443 ssl;
server_name my_site.com;
ssl_certificate my_site.com.cert;
ssl_certificate_key my_site.com.key;
location / {
uwsgi_pass flask_portal;
include uwsgi_params;
}
}
当我用curl测试https://www.google.com时 它报道:
curl: (35) Unknown SSL protocol error in connection to www.googlw.com:443
我认为nginx应该将www.google com重定向到my_site.com,curl应该询问my_site证书,但事实并非如此。
答案 0 :(得分:1)
您无法重定向https,因为您的证书与www.google.com或* .google.com不匹配,因此浏览器(正确地)将无法与之握手。 Curl(和您的浏览器)永远不会看到重定向,因为这需要成功握手。
可以做的是告诉浏览器您是强制网络门户:https://www.chromium.org/chromium-os/chromiumos-design-docs/network-portal-detection