上下文
简单设置
问题
我没有支付SSL证书,我希望尝试访问https的最终用户重定向到http。
我尝试了重定向,重写,并在下面进行了简单的监听..没有成功。浏览器将返回“ ERR_SSL_PROTOCOL_ERROR”。
server {
listen 80;
listen 443;
ssl off;
server_name xxxx.com;
location / {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_pass "http://0.0.0.0:8090";
}
}
问题
能否请您提出重定向HTTPS-> http(反向代理)的最简洁方法?问候
编辑1
以下配置导致浏览器“ ERR_SSL_PROTOCOL_ERROR”。
server {
listen 80;
server_name xxxx.com;
location / {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_pass "http://0.0.0.0:8090";
}
}
server {
listen 443;
server_name xxxx.com;
rewrite ^(.*) http://$host$1 permanent;
}
答案 0 :(得分:1)
使用letencrypt获取免费证书,然后使用https或重定向到http是我的解决方案。
@RichardSmith的积分
答案 1 :(得分:0)
您可以尝试通过ngx_stream_core_module使用TCP重播 http://nginx.org/en/docs/stream/ngx_stream_core_module.html
stream {
server {
listen 443;
proxy_pass 127.0.0.1:80;
}
}