我想让80和443共存,但是不强制跳转先。因为以前程序调用api,用的http。直接强制https,以前程序会出错。
下面2个配置在同一个文件夹。
80配置如下
server{
listen 80;
server_name a.com;
location/{
proxy_passhttp://localhost:5000;
proxy_http_version1.1;
proxy_set_headerUpgrade$http_upgrade;
proxy_set_headerConnectionkeep-alive;
proxy_set_headerHost$host;
proxy_cache_bypass$http_upgrade;
proxy_set_header X-Forwarded-For$proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto$scheme;
}
error_page 500502503504 /50x.html;
location=/50x.html{
root /usr/share/nginx/html;
}
}
443配置如下
server{
listen 443ssl;
server_name a.com;
开启ssl
sslon;
#指定ssl证书路径
ssl_certificate/var/ZhengShu/a/a.com_chain.crt;
#指定私钥文件路径
ssl_certificate_key/var/ZhengShu/a/a.com_key.key;
#charsetkoi8-r;
#access_log /var/log/nginx/host.access.log main;
location/{
proxy_passhttp://localhost:5000;
proxy_http_version1.1;
proxy_set_headerUpgrade$http_upgrade;
proxy_set_headerConnectionkeep-alive;
proxy_set_headerHost$host;
proxy_cache_bypass$http_upgrade;
proxy_set_header X-Forwarded-For$proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto$scheme;
}
error_page 500502503504 /50x.html;
location=/50x.html{
root /usr/share/nginx/html;
}
}
-----------------------------------------------------
**网友回复**:
引用:纯净水发表于2021-9-909:50
包在里头
网友回复:
一般都是程序的问题,比如你wp的后台填了https,你的所有链接都会跳https
网友回复:
MJJ闲的蛋疼啥都找茬删除
网友回复:
mark一下
网友回复:
你要是没有return和rewrite这种就不会跳转啊
网友回复:
别写301,各写各自的location,相互不干扰
这样80443打开的东西就好不相干
443也可以修改成任意端口,其实
你上面的写法,构架上没毛病
网友回复:
引用:纯净水发表于2021-9-909:31
强制转应该要
网友回复:
引用:llyang发表于2021-9-909:49
你这个是放置在443的server外面,事先判断?
网友回复:
引用:纯净水发表于2021-9-909:50
包在里头
网友回复:
引用:llyang发表于2021-9-909:52
写在443server里面?
那你这个if语句,永远都是false
网友回复:
引用:纯净水发表于2021-9-909:54
来自于APPNODE