请教个nginx 80和443共存,但不强制跳转的配置
侧边栏壁纸
  • 累计撰写 57,019 篇文章
  • 累计收到 0 条评论

请教个nginx 80和443共存,但不强制跳转的配置

James
2021-09-09 / 0 评论 / 68 阅读 / 正在检测是否收录...

我想让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一下


网友回复:

你​要​是​​没​有​r​e​t​u​r​n​​和​r​e​w​r​i​t​e​​这​种​​就​不​会​跳​转​啊


网友回复:

别写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

0