nginx反向代理批量实现https协议访问

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx反向代理批量实现https协议访问相关的知识,希望对你有一定的参考价值。

我们进入大多数HTTPS网站ie浏览器都会给出相关提醒了,但我配置了一台HTTPS代理机器发现css与js都加载不了,这个有朋友说是https页面,如果加载http协议的内容,会被认为页面不安全,所以就会弹出提醒框了。

HTTPS是什么

HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司进行,提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面

解决办法

 代码如下 复制代码
sever{ 
listen 80; 
sever_name www.你的域名.net; 
root /home/webroot/www/; 
index index.php index.html
# ... 

sever{ 
listen 80; 
sever_name img.你的域名.net; 
root /home/webroot/img/; 
index index.php index.html; 
# ... 

sever{ 
listen 80; 
sever_name static.你的域名.net; 
root /home/webroot/static/; 
index index.php index.html; 
# ... 

sever{ 
listen 80; 
sever_name upload.你的域名.net; 
root /home/webroot/upload/; 
index index.php index.html; 
# ... 

server { 
listen 443; 
server_name www.你的域名.net img.你的域名.net static.你的域名.net upload.你的域名.net; 
ssl on; 
ssl_certificate /usr/local/nginx/conf/你的域名.net.crt; 
ssl_certificate_key /usr/local/nginx/conf/你的域名.net.key; 
  
location /{ 
proxy_pass http://127.0.0.1:80; 
proxy_redirect off; 
proxy_set_header X-Real-IP $remote_addr; 
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
proxy_set_header Host $host; 
proxy_set_header SSL ‘1‘; 
proxy_redirect http:// https://; 

}

这样配置好,访问:

 

 代码如下 复制代码

https://www.你的域名.net/ 
  
https://img.你的域名.net/ 
  
  
https://static.你的域名.net/ 
  
  
https://upload.你的域名.net/

会被反向代理至:

http://www.你的域名.net/ 
  
http://img.你的域名.net/ 
  
  
http://static.你的域名.net/ 
  
  
http://upload.你的域名.net/

以上是关于nginx反向代理批量实现https协议访问的主要内容,如果未能解决你的问题,请参考以下文章

nginx的反向代理可以直接telnet么

Nginx反向代理+负载均衡简单实现(https方式)

nexus 绑定负载均衡nginx反向代理后 遇到的https问题。

宝塔面板Nginx反向代理解决跨域问题

Nginx反向代理实现负载均衡配置图解

Nginx配置正向代理和反向代理,实现HTTPS通信的案例