Docker nginx 均衡负载功能https配置及遇到的问题

自己的一个服务器因为想使用均衡负载,这样方便创建各种不同的服务器环境。
由于要开发小程序,所以要配置个https,研究了挺久的,这里大概写一下自己的一些配置总结。

均衡负载Https的配置,证书要配置的主nginx下,因为我用的是nginx转发到lnmpa下的容器,刚开始搞不清楚在哪里配置https证书。就在docker分容器下进行配置了https证书,但是没有成功还出现了400错误什么的。后来解决思路是直接新建一个映射服务器80和443端口的容器,并在这个容器上配置了https证书,配置成功。于是把配置的文件保存下来,用于之后配置均衡负载的分容器下。

之后,重新建了nginx转发主容器,映射服务器的80和443端口,再建分容器,把它的80和443端口映射到服务器的其它一些端口。

之后,在主nginx容器下配置upstream到对应的域名,并配置对应的域名,转发到分容器的443端口,可是用之前分容器配置好的https提示错误,于是就把分容器下的证书引用注释掉了,显示就正常,如果不是https访问域名就正常,但是是https访问是就出现了相关的一些错误。后来在主容器下的nginx的域名下配置了443和引用证书,显示400错误,出现的错误有

1、SSL_ERROR_RX_RECORD_TOO_LONG
这个是要在主nginx下域名配置下的listen 443后尾加上default ssl,这个错误就不再出现了。

2、400 Request Header Or Cookie Too Large。
这个问题是在location / 里的proxy_pass配置,把域名改成访问容器的443端口。这样就配好了。应该是配置为域名时nginx进入了一个自己访问自己的死循环,所以400错误,而且访问日志在一直增大。


主nginx的配置

upstream xxx.com {
      server  12.15.1.1:10431;
}
server{
    #listen 80;
    listen 443 default ssl;
    server_name xxx.com;
    
    #ssl on;
    ssl_certificate /etc/nginx/conf.d/SSL/www.xxx.com/www.xxx.com.pem;
    ssl_certificate_key /etc/nginx/conf.d/SSL/www.xxx.com/www.xxx.com.key;
    ssl_session_timeout 5m;
    #ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    #ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
    #ssl_prefer_server_ciphers on;
    
    location / {
        proxy_pass         http://12.15.1.1:10431;
        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    }
}

 分容器的nginx的域名配置文件

server
{
    #listen 80;
    listen 443;
    server_name www.xxx.com;
    index index.html index.htm index.php default.html default.htm default.php;
    root  /home/www/www.xxx.com;


    #error_page   404   /404.html;
    include proxy-pass-php.conf;

    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
    }

    location ~ .*\.(js|css)?$
    {
        expires      12h;
    }

    location ~ /\.
    {
        deny all;
    }

    access_log off;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值