900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > nginx 学习记录:IP+端口号配置网站 隐藏端口号 自签名证书配置Https 强制Https 自定义404

nginx 学习记录:IP+端口号配置网站 隐藏端口号 自签名证书配置Https 强制Https 自定义404

时间:2024-06-27 16:07:51

相关推荐

nginx 学习记录:IP+端口号配置网站 隐藏端口号 自签名证书配置Https 强制Https 自定义404

几点心得

1. 如果没有显式声明 default server 则第一个 server 会被隐式的设为 default server1. 443后面一定要加ssl,不然http会被重定向到https1. 静态资源在上游服务器上,而不是当前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

参考:

/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 页面

参考

/paul8339/p/7389422.html

现在没有加上 php,所以使用方法一error_page 404 /404.html;location = /404.html {root /var/www/html;}

网站配置清单

http://192.168.1.162/https://192.168.1.162/http://192.168.1.162:8001/https://192.168.1.162:4001/http://test1621.wzhhttps://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/ 加到这个域名网站配置

完整学习的配置文件 (都在一个 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/cert/wyserver.crt;# ssl_certificate_key /var/www/cert/wyserver.key;root /var/www/html;# Add index.php to the list if you are using PHPindex index.html index.htm index.nginx-debian.html;server_name _;# add by wzh 0126 强制httpsrewrite ^(.*)$ 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/cert/wyserver.crt;ssl_certificate_key /var/www/cert/wyserver.key;root /var/www/html;# Add index.php to the list if you are using PHPindex 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

server {

listen 8001 ;

# listen [::]:8001 ;

server_name 192.168.1.162;# add by wzh 0126 强制httpsrewrite ^(.*)$ https://192.168.1.16:4001 permanent;root /var/www/test123;# Add index.php to the list if you are using PHPindex 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/cert/wyserver.crt;ssl_certificate_key /var/www/cert/wyserver.key;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 80 ;

# listen [::]:80 ;

server_name test1621.wzh;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/;}

}

server {

listen 443 ; # ssl ;

# listen [::]:443; # ssl ;

# ssl on;

server_name test1621.wzh;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 https://192.168.1.162:4001;}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。