在生产环境下,已经安装 Nginx,并能够正常运行。鉴于客户要求,将在运行的 nginx 由 http 协议更改为 https 协议。并且,当输入http://域名/路径
时,能够跳转到 https://域名/路径
针对全新安装的Nginx,编译时添加对应的ssl模块即可
./configure --prefix=/usr/local/nginx --with-http_ssl_module
#预编译时,添加 --with-http_ssl_module
wget http://nginx.org/download/nginx-1.9.15.tar.gz
#下载原版本的nginx
tar zxvf nginx-1.9.15.tar.gz
#解压nginx
cd nginx-1.9.15
#进入解压后的nginx文件夹
./configure --prefix=/usr/local/nginx --with-http_ssl_module
#指定现在的nginx目录并添加 --with-http_ssl_module
make
#进行编译,而不进行安装
复制新nginx可执行文件并授权nginx可执行文件,若不授权则可能不能正常启动
/usr/local/nginx/sbin/nginx -V
#要根据自己的实际nginx可执行文件进行是修改
相关的路径和文件名要进行记录,便于配置使用
vim /usr/local/nginx/conf/nginx.conf
在 [server]
模块下进行相关配置的添加, 这些都是腾讯云推荐的配置,直接拿来用就行了,只是修改证书的路径,注意这些路径是相对于/etc/nginx/nginx.conf文件位置,也可以使用绝对路径。
.....
#上述配置,请忽略
http {
include mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 128;
large_client_header_buffers 4 64k;
client_max_body_size 20m; #上传文件最大值
server_tokens off; #隐藏nginx版本号
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 3;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;
include /usr/local/nginx/conf.d/*.conf;
server {
listen 443 ssl;
server_name cj.xxxx.edu.cn;
client_body_buffer_size 50m;
client_max_body_size 100m;
#charset koi8-r;
#这些都是腾讯云推荐的配置,直接拿来用就行了,只是修改证书的路径,注意这些路径是相对于/etc/nginx/nginx.conf文件位置
ssl on;
ssl_certificate /usr/local/nginx/ssl/xxx.edu.cn.cer.pem;
ssl_certificate_key /usr/local/nginx/ssl/xxx.edu.cn.key.pem;
ssl_session_timeout 15m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
#设置ibpsv3转发规则
location /ibpsv3 {
proxy_pass http://ibpsHost;
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_set_header REMOTE-HOST $remote_addr;
add_header 'Access-Control-Allow-Origin' '*';
}
......
#下述配置文件,请忽略
}
}
配置文件解析
ssl on;
ssl_certificate 1_XXX.com_bundle.crt;
ssl_certificate_key 2_XXX.com.key;
ssl_session_timeout 5m;
#客户端可以重用会话缓存中ssl参数的过期时间,内网系统默认5分钟太短了,可以设成30m即30分钟甚至4h。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#按照这个协议配置
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
#按照这个套件配置
ssl_prefer_server_ciphers on;
#设置协商加密算法时,优先使用我们服务端的加密套件,而不是客户端浏览器的加密套件。
注意是新增对80端口的监听,这样请求80,才能转到443。在https的server中直接修改会造成死循环。
即http的80 server{ } 和 https的 443 server{ } 应均存在。
#......省略
server {
listen 80;
server_name www.xxxx.edu.cn;
#server_name 后面建议加域名
return 301 https://127.0.0.1$request_uri;
}
#......省略
server {
listen 443 ssl;
server_name www.xxxx.edu.cn;
}
#......省略
#......省略
server {
listen 80;
server_name www.xxxx.edu.cn;
#server_name 后面建议加域名
rewrite ^(.*)$ https://$host$1 permanent;
}
#......省略
server {
listen 443 ssl;
server_name www.xxxx.edu.cn;
}
#......省略
首先我们先介绍什么是事件: 事件就是某一个对象在特定的时刻做了某一件事。比如:点击事件,当我点击了按钮后变触发了点击事件浏览器会做出相应的响应。那么事件有三大要素: 1、事件源:dom对象 2、事件类型:具体参照W3C的javas事件参考手册 3、事件响应:一般是一个函数,称之为事件处理函数原生JS注册事件的语法: //原生注册事件语法: documen...
1. 概述使用text-overflow:ellipsis对溢出文本显示省略号有两个好处,一是不用通过后端程序截取;二是有利于SEO。2. text-overflow的属性clip: 当对象内文本溢出时不显示省略标记(…),而是将溢出的部分裁切掉。 如下图: p ellipsis: 当对象内文本溢出时显示省略标记(…),如下图: string:使...
这里使用的是WdatePicker插件来实现开始和结束时间选择范围控制(开始时间选择之后,结束时间不可再选择开始时间之前时间,开始时间同理:结束时间选择之后,开始时间不可再选择结束时间之前的开始时间)时间选择精度精确到秒 开始时间: <input type="text" readonly="readonly" class="input-small Wdate choos
一、JS方法1.最简单的调用方式,直接写到html的body标签里面:2.在JS语句调用:function myfun() {alert("this window.onload");}/*用window.onload调用myfun()*/// 不要括号window.onload = myfun;3。Js调用 onload方法window.onload = function(){func1();...
攻防世界WEB进阶之upload1一、分析二、实操三、答案难度系数: 1星题目来源: 暂无题目描述:暂无题目场景: 略题目附件: 暂无一、分析首先打开场景,上传文件进行抓包操作,发现存在部分js代码。function check(){upfile = document.getElementById("upfile");submit = document.getElement...
源代码:#include &amp;lt;stdio.h&amp;gt;#include&amp;lt;string.h&amp;gt;int main(){ char str[] = &quot;经度:111°11’11'' 纬度: 30°30'30''&quot;; char *p; char a[]=&quot; &quot;; p = strtok(str, &quot;:&qu
TCP/IP是很多的不同的协议组成,实际上是一个协议组,TCP用户数据报表协议(也称作TCP传输控制协议,Transport Control Protocol。可靠的主机到主机层协议。这里要先强调一下,传输控制协议是OSI网络的第四层的叫法,TCP传输控制协议是TCP/IP传输的6个基本协议的一种。两个TCP意思非相同。 )。TCP是一种可靠的面向连接的传送服务。它在传送数据时是分段进行的,主机交
《大学计算机基础》试题题库及答案 《大学计算机基础》试题题库及答案一、单选题练习1.完整的计算机系统由( C )组成。A.运算器、控制器、存储器、输入设备和输出设备B.主机和外部设备C.硬件系统和软件系统D.主机箱、显示器、键盘、鼠标、打印机2.以下软件中,( D )不是操作系统软件。A.Windows xp B.unix C.linux D.microsoft office3.用一个字节最多能编...
最近搞 Git 上传文件到 Github 仓库遇到了点问题:id_rsa.pub 这个文件打不开,但是我需要复制内容生成 ssh 密钥文件格式类型为:Microsoft Publisher Document (.pub)解决方法:1、在当前文件目录输入 cmd【直接定位到当前目录下】2、dos 下查看文件内容的命令:type 文件名3、复制内容就可以去粘贴使用啦,希望可以帮到你们!!!...
1.新建一个JAva工程,导入包log4j-1.2.17.jar,整个工程最终目录如下2、src同级创建并设置log4j.properties ### 设置###log4j.rootLogger = debug,stdout,D,E### 输出信息到控制抬 ###log4j.appender.stdout = org.apache.log4j.ConsoleAppenderlog4...
博客原文地址https://xgs888.top/post/view?id=43错误:php70w-common conflicts with php-common-5.3.3-49.el6.x86_64 You could try using --skip-broken to记录一下 由于之前系统自带的php5.3.3没有卸载干净;在执行phpize时报错说需要php-d...
java学习第二天标签(空格分隔):java作者:张远征第三章 选择结构&&循坏结构1.基本的选择结构if(判定条件true 或者 false){a;} else {b;}如果条件为真则执行a块代码,如果条件为假,则执行b块代码;多重选择if结构嵌套的使用举例源码如下:此处输入代码package 章节2;import java.util.Scanner;...