官网下载nginx:http://nginx.org/en/download.html

安装nginx编译环境:yum install -y gcc-c++

安装pcre库解析正则:yum install -y pcre pcre-devel

安装zlib库用于压缩解压缩:yum install -y zlib zlib-devel

安装openssl库:yum install -y openssl openssl-devel

cd 到nginx解压目录编译(指定目录及支持ssl https):./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

编译完成后安装:make && make install

运行nginx:cd /usr/local/nginx/sbin/                  /.nginx

配置conf 文件:

结束掉nginx:./nginx -s quit或者./nginx -s stop 或者ps aux |grep nginx (查出nginx进程)  kill -quit 进程主ID  (也可以-9强制结束两个进程)

重启nginx:sbin 目录下  ./nginx

nginx 负载均衡配置成功。

【重新加载配置文件:./nginx -s reload  启动时加载配置文件的路径:sbin/nginx -c conf/nginx.conf】

关于nginx转发后获取不到客户端真实IP,需要在location里做如下配置:

location / {

   proxy_pass http://IP;

   proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header REMOTE-HOST $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

nginx 负载均衡配置https 网站,配置文件如下:

网站配置完毕后,js、css 等文件找不到报错,需要在location中加一下映射:

 # HTTPS server
#
server {
listen ssl;
listen ;
server_name localhost; ssl on;
ssl_certificate /usr/local/nginx/conf/cert.crt;
ssl_certificate_key /usr/local/nginx/conf/cert.key; ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on; location / {
root html;
index index.html index.htm; proxy_redirect off;
proxy_set_header Host $host:;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
proxy_max_temp_file_size 128m;
proxy_pass https://iosapi; }
location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ {
proxy_pass https://iosapi;
}
}

如图:

网站更换CA证书或升级证书 导致nginx转发报错:

 [error] #: * SSL_do_handshake() failed (SSL: error::SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure) while SSL handshaking to upstream, client: ***, server: localhost, request: "POST /smc/leadership HTTP/1.1", upstream: "https://***:50044/smc/leadership", host: "www.***.com:50043", referrer: "http://****:8002/Home/Index"

解决方案:

在nginx配置文件中的location里加入下面代码:

    proxy_ssl_server_name on;

        proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

重启nginx服务即可。

Nginx 安装及配置、负载均衡https网站及转发后页面js、css等路径找不到问题、更换证书导致问题解决的更多相关文章

  1. nginx和tomcat配置负载均衡和session同步

    一.背景 因业务需求,现需配置多台服务器,实现负载均衡. 二.解决方案 使用 nginx + tomcat,在这一台应用服务器部署一个nginx和两个tomcat.通过nginx修改配置后reload ...

  2. centos 安装nginx + 多个tomcat负载均衡

    今天在centos上安装了两个tomcat和nginx,进行配置.今天记录的只是最基本的实现测试.(不包含使用redis进行session共享) Nginx 是一款轻量级的Web 服务器/反向代理服务 ...

  3. 通过http、https域名访问静态网页、nginx配置负载均衡(nginx配置)

    很多场景下需要可以通过浏览器访问静态网页,不想把服务器ip地址直接暴露出来,通过nginx可以解决这个问题. 实现http域名访问静态网页 1.域名解析配置(本文都是以阿里云为例,其他平台,操作步骤类 ...

  4. office web apps安装部署,配置https,负载均衡(六)配置负载均衡

    owa可以采用任何的负载均衡方案,我们这里采用阿里云提供的负载均衡解决方案 前提条件,你已经配置了一台域控制器,两台域服务器[即安装了owa相关软件,并将计算机隶属于域]: 如果您不清楚怎么做,那么请 ...

  5. [转帖]Nginx安装及配置详解 From https://www.cnblogs.com/zhouxinfei/p/7862285.html

    Nginx安装及配置详解   nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP ...

  6. Linux 笔记 - 第二十章 配置 Nginx 反向代理和负载均衡

    一.简介 由于 Nginx 的反向代理和负载均衡功能经常被提及,所以将这两个功能单独提出来进行讲解. Nginx 其实仅仅是作为 Nginx Proxy 反向代理使用的,因为这个反向代理功能表现的效果 ...

  7. Nginx反向代理以及负载均衡配置

    项目地址:http://git.oschina.net/miki-long/nginx 前提:最近在研究nginx的用法,在windows上小试了一下,由于windows下不支持nginx缓存配置,所 ...

  8. nginx如何配置负载均衡

    自己学习用 面试回答如下: 在nginx里面配置一个upstream,然后把相关的服务器ip都配置进去.然后采用轮询的方案,然后在nginx里面的配置项里,proxy-pass指向这个upstream ...

  9. LVS实现负载均衡原理及安装配置 负载均衡

    LVS实现负载均衡原理及安装配置 负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有nginx.lvs.haproxy,商业的硬件负载均衡设备F ...

随机推荐

  1. 简单翻书效果,css3 3d视角perspective

    perspective越大 视角越远.看起来越小,,越小越近 就越大

  2. - configuration.module has an unknown property 'loader' 问题解决

    错误提示: Invalid configuration object. Webpack has been initialised using a configuration object that d ...

  3. Kafka笔记5(内部工作原理)

    集群成员关系: Kafka使用zookeeper维护集群成员信息,每个broker拥有唯一标识符,这个标识符可以在配置文件里指定也可以自动生成,会注册到Zookeeper的/brokers/ids路径 ...

  4. MongoDB 常用语句

    use 数据库名       进入数据库      若数据库不存在,创建数据库 db  显示当前数据库 show  dbs  显示内容非空的数据库 db.createCollection('表名')  ...

  5. Fiddler抓包【4】_重定向AutoResponder

    1. 文件及图片替换(Enable rules) 目的:允许从本地返回文件,代替服务器响应,而不用将文件发布到服务器[可用正式环境验证本地文件] 步骤一:抓页面http://ir.baidu.com/ ...

  6. Linux定时任务调用sh文件

    1.编写sh文件 创建:vi test.sh 写入:date >> /xiaol/data.txt 2.默认创建的这个sh问件是没有执行权限的,修改权限 chmod 777 test.sh ...

  7. 插播一则关于HTTP Headers详解~~~

    URL REQUEST : ------ 使用通讯录请求对象,构建URLLoader对象,并发出数据请求(对指定地址发出数据请求)   status code(状态码)------ 200(成功)-- ...

  8. NetCore持续踩坑

    坑1: vs2017 安装 .netcore2.2.2后,新建项目编译报错:.NET SDK 不支持降.NET Core2.2 设置为目标. 我以为是.netcore的sdk版本有误,于是我查看.ne ...

  9. day19 python之re模块正则练习

    1.匹配标签 import re ret = re.search("<(?P<tag_name>\w+)>\w+</(?P=tag_name)>" ...

  10. Redis批量导入数据的方法

    有时候,我们需要给redis库中插入大量的数据,如做性能测试前的准备数据.遇到这种情况时,偶尔可能也会懵逼一下,这里就给大家介绍一个批量导入数据的方法. 先准备一个redis protocol的文件( ...