nginx 隐藏端口号、自签名https、强制https
几点心得
- 如果没有显式声明 default server 则第一个 server 会被隐式的设为 default server
- 443后面一定要加ssl,不然http会被重定向到https
- 静态资源在上游服务器上,而不是当前nginx直接提供
学习环境
VisualBox 虚拟机 ubuntu 16.04 (网址:192.168.1.162)
通过 sudo apt install nginx 安装 nginx
学习建议
所有的实例里面都是将 80 和 443 端口在同一个 Server {…} 完成的
开始时不好理解,干脆全部拆开,一个 Server {…} 里面只 listen 一个端口
开始时全部在 default 里面配置,熟练之后,再拆分独立到一个一个的网站配置
** 其实我开始时不是以上这样子的,都是按照通行的办法开始的
** 因为我发现同事配置网站全都删除了default
** 对于 defult 的理解不到位,才使得我用了以上笨办法,
1、IP+端口号配置网站
和普通配置其实是一样的,只是 Listen 的端口号不是 80 和 443
2、自签名证书配置Https
自签名证书制作不在这里介绍
配置自签名证书和通用证书方式其实是一样的
3、强制 https
参考:
https://www.cnblogs.com/yun007/p/3739182.html 这里有很详细的介绍,我选择了第一种:rewrite方法
4、隐藏端口号
通过 proxy_pass 反向代理,将域名配置的网站直接指向之前使用 ip + 端口号 配置的网站
server_name_in_redirect off;
proxy_set_header Host $host:$server_port;
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;location / {proxy_pass http://192.168.1.162:8001/;
}
5、自定义 404 页面
参考
https://www.cnblogs.com/paul8339/p/7389422.html
现在没有加上 php,所以使用方法一
error_page 404 /404.html;
location = /404.html {
root /var/www/html;
}
6、网站配置清单
http://192.168.1.162/
https://192.168.1.162/
http://192.168.1.162:8001/
https://192.168.1.162:4001/
http://test1621.wzh
https://test1621.wzh
这才是最终目的
http://test1621.wzh 会转向 http://192.168.1.162:8001/
httpss://test1621.wzh 会转向 http://192.168.1.162:4001/
如果也需要强制https 可以按照 http://192.168.1.162/ 加到这个域名网站配置
7、完整学习的配置文件 (都在一个 default 里面)
server {
listen 80 ; # default_server;
# listen [::]:80 ; # default_server;
# SSL configuration
# listen 443 ssl ; # default_server;
# listen [::]:443 ssl ; # default_server;# ssl on;
# ssl_certificate /var/www/cert2019/wyserver.crt;
# ssl_certificate_key /var/www/cert2019/wyserver.key;
root /var/www/html;# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;server_name _;# add by wzh 20190126 强制https
rewrite ^(.*)$ https://$host$request_uri$1 permanent;location / {try_files $uri $uri/ =404;
}error_page 404 /404.html;location = /404.html {root /var/www/html;
}
}
server { # SSL configuration listen 443 ssl ; # default_server; # listen [::]:443 ssl ; # default_server;
ssl on;ssl_certificate /var/www/cert2019/wyserver.crt;ssl_certificate_key /var/www/cert2019/wyserver.key;
root /var/www/html;# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;server_name _;location / {try_files $uri $uri/ =404;
}error_page 404 /404.html;location = /404.html {root /var/www/html;
}
}
Virtual Host configuration for example.com
server { listen 8001 ; # listen [::]:8001 ;
server_name 192.168.1.162;# add by wzh 20190126 强制https
rewrite ^(.*)$ https://192.168.1.16:4001 permanent;root /var/www/test123;# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
}
############### server { listen 4001 ssl; # listen [::]:4001 ssl;
server_name 192.168.1.162;ssl on;
ssl_certificate /var/www/cert2019/wyserver.crt;
ssl_certificate_key /var/www/cert2019/wyserver.key;root /var/www/test123;# Add index.php to the list if you are using PHP
# index index.html index.htm inde
nginx 隐藏端口号、自签名https、强制https相关推荐
- Nginx通过OpenSSL创建自签名证书配置HTTPS及二级目录
目录 配置Https Nginx配置二级目录 升级示例 部署HTTP 升级为HTTPS 配置Https Nginx通过OpenSSL配置Https及二级虚拟目录 1.创建私钥秘钥和证书 mkdir - ...
- 使用nginx反向代理实现隐藏端口号
在服务器上下载安装nginx,主要是修改配置nginx.conf. 在http模块中,添加如下配置 常见配置: user nginx nginx; worker_processes 1;error_l ...
- charles请求转发_用免费开源的frp实现内网穿透,使用nginx转发的方式去掉端口号...
需要用内网穿透技术来实现通过其他公网 IP 来访问家里的 NAS 设备的需求,frp使用起来更加简便灵活,以及项目一直开源,所以本文选择frp作为示例 frp的github地址 :https://gi ...
- 知识点实用梳理:点对点协议(PPP)、广播信道多址访问、SMTP与POP3、RS232C、协议与端口号
点对点协议(PPP): PPP工作在数据链路层(以OSI参考模型的观点).它通常用在两节点间创建直接的连接,并可以提供连接认证.传输加密以及压缩. PPP被用在许多类型的物理网络中,包括串口线.电话线 ...
- H3C网管型交换机、路由器 常用登录管理方式使用详解 及 默认端口号,默认用户名、密码
H3C 登录管理方式有:Console.AUX Modem.ssh.Telnet.www(即:web) ,以Console.ssh.Thelnet.www 最为常用,这里也就以最为常用作为讲解. 关于 ...
- SQL数据库隐藏服务器后需要在连接字符串增加端口号,(provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)]...
1.将SQL数据库服务设置为隐藏,端口默认改为2433 2.原有的ASP.NET程序访问数据库报错: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务器. ...
- nginx修改监听端口号8080_Nginx + Tomcat 配置
这里使用Nginx解析域名,做出域名到Tomcat的映射 不多说 贴代码 Nginx 在http下 upstream tomcat { server 127.0.0.1:8080; } server ...
- Nginx 快速安装手册及如何修改端口号
安装openssl-0.9.8e.tar.gz软件包 ./configure --prefix=/usr/local/openssl make &&make install 2) 安 ...
- 记录一次nginx 配置https 强制http转发到https
nginx.conf 主要配置 server {listen 443;root /home/wwwroot/default/xxx; #站点目录server_name www.xxx.com; #填写 ...
- HTTPS、HTTPS、SSH、MSTSC等常用网络服务的端口号
■前言 今天在 powershell下使用curl命令访问 一个网址 返回...443 port...相关的错误信息,我第一眼看,还以为是HTTP_STATUS_CODE 于是去查了一会儿才发现,是端 ...
最新文章
- for死循环、怪异字符串、两次return……Python冷知识(三)
- 【面试招聘】去不了大厂实习,小厂实习去吗?
- 音视频技术开发周刊 | 228
- js高级 — ES6
- Makefile使用及多文件gdb 调试
- 【Tensorflow】tf.nn.depthwise_conv2d如何实现深度卷积?+深度可分离卷积详解
- 美丽的数学家:如果您讨厌数学,这些其实都是人生故事
- POJ 1797 Heavy Transportation 最短路变形(dijkstra算法)
- 安装MATLAB(已经下载安装包)
- 在Mac上将WebP图像批量转换为JPG的方法
- 基本 SQL 之增删改查
- RS485芯片与单片机接口中的一个容易忽略的隐患
- Awesome-Windows
- 联想服务器系统初始化失败怎么回事,win10重置初始化失败怎么解决
- 清明假期,超市可重点主推的品类
- 获取Map的key值的几种方式
- undo歌词中文音译_Undo - Sanna nielsen帮我看看这歌词翻译对么
- 学会理解和更新kali软件源
- html中加水印,静态html页面 添加水印效果 且 水印不可复制
- 微信小程序输入框输入换行
热门文章
- iOS安装CocoaPods详细过程
- 转:Raft一致性选举算法的ppt与视频
- Bzoj 3831: [Poi2014]Little Bird
- Vivado Launching SDK Importing Hardware Specification error的解决方法
- 『原创·翻译』如何阅读论文
- java笔记之字符串,字符串数组,ListString的相互转换
- 2011年国庆老家记录
- Hercules配置文件HERCULES.CNF范本
- Error creating object Microsoft Data Access Components 2.1 (or later) have been properly installed
- git clone 遇到的坑