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

摘要:
aNULL:!

官网下载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

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

 配置conf 文件:

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

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

 重启nginx:sbin 目录下  ./nginx  

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

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 网站,配置文件如下:

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

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

 # HTTPS server
    #
    server {
        listen       443 ssl;
        listen       10001;
        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:10001;
            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;
        }
    }

如图:

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

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

 [error] 9126#0: *1791 SSL_do_handshake() failed (SSL: error:14077410: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 安装及配置、负载均衡https网站及转发后页面js、css等路径找不到问题、更换证书导致问题解决第6张

重启nginx服务即可。

免责声明:文章转载自《Nginx 安装及配置、负载均衡https网站及转发后页面js、css等路径找不到问题、更换证书导致问题解决》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇freebsd上源码安装cmakeHBASE的预分区设计下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Python3 爬虫-字体数字反爬

爬取网站:http://www.dianping.com/xian/ch0 反爬措施:对于某些数字和中文不是直接使用文本显示,如下图,对于"189条点评"中的8和9两个数字,"人均¥283"中的2、8和3三个数字,对于 "灞临路营背后西北200米"中的五个中文,都是经过一层字体加密 1 <!--HTML代码--> 2 <b...

关于H5 移动端css 文本超出时省略号 失效的问题

之前写代码的时候遇到一个问题,就是用了下面这段css代码来让文字超出范围隐藏并显示省略号。 overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;...

Failed to mount component: template or render function not defined.

在公司下班前提交的代码,夜晚回家pull一把,运行却报错: Failed to mount component: template or render function not defined. 百度翻译:无法安装组件:模板或渲染功能未定义。 什么原因呢?百度了一大圈,有的说需要修改配置文件,有的说需要回退vue-loader版本。。。。。 但是都试了个遍...

nodejs 和 js

JavaScript组成:ECMAScript(定义这门语言的基础,比如语法、数据类型、结构以及一些内置对象等)、DOM(基于ECMASCRIPT,扩展出来的用于操作页面元素的方法)、BOM(基于ECMASCRIPT,扩展出来的用于操作浏览器的一些方法)。 NodeJS是以ECMASCRIPT为基础,然后在这个基础上扩展出来的一些操作其他东西(即操作非浏览...

js正则表达式 URL格式匹配详解

0、URL格式 protocol :// hostname[:port] / path / [;parameters][?query]#fragment [;parameters]没见过 这里就不做相关匹配了 1、代码及运行结果 'use strict'; { // URL地址匹配格式: protocol :// hostname[:port...

css画图

原理是利用边框实现,好处是不用加载图片,节省流量;坏处就是会有很长一段css样式 基本:1.设置width,height为0 ,然后设置一个border-width 利用border可以画很多有趣的图 1.正方形 #square{ 0px; height:0px; border- 100px; border-style: solid; bord...