Nginx配置http和https的实现步骤

 更新时间:2024年03月29日 09:19:47   作者:冬山兄  
Nginx是使用最多的代理服务器之一,本文主要介绍了Nginx配置http和https的实现步骤,具有一定的参考价值,感兴趣的可以了解一下

GPT4.0+Midjourney绘画+国内大模型 会员永久免费使用!
如果你想靠AI翻身,你先需要一个靠谱的工具!

配置文件 默认放置位置:{nginx}/conf.d/,以conf结尾

一、http简单配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
server {
        listen       80;
        server_name  www.test.cn;
        root /mnt/website/ROOT;
         
        if ( $query_string ~* ".*[;'<>].*" ){
            return 404;
        }
        if ( $query_string ~* ".*script.*" ){
            return 404;
        }
  
        location ~* ^/WEB-INF/.*$
        {
         deny all;
        }
 
        location ~* ^/(UserFiles|userfiles|images|Images|upload)/.*\.(jsp|js)$
        {
         deny all;
        }
 
        location / {
             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_pass   http://127.0.0.1:8888;
        }
}
server{
    server_name test.cn;
    root /mnt/website/ROOT;
    location ^~ / {
             rewrite ^(.*) http://www.test.cn$1 permanent;
        }
}

说明:

1,http默认端口是80

2,http://127.0.0.1:8888;为实际本地服务端口

3,一般服务域名为二级域名www,一级域名一般也配置指向www域名。

二、https配置

首先得申请ssl证书,百度,阿里都有免费证书可用,申请成功后,下载nginx压缩包,解压后,可见两种后缀文件,一个是xxx.key,另一个是xxx.crt,或者是xxx.pem。文件名可以随意更改,一般改为域名。

其次是配置文件配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
server {
        listen       443;
        server_name  www.test.cn;
        root /mnt/website/ROOT;
         ssl                  on;
       ssl_certificate      /etc/nginx/ssl/www.test.cn.crt;
       ssl_certificate_key      /etc/nginx/ssl/www.test.cn.key;
       ssl_session_timeout  5m;
       ssl_protocols  SSLv3 TLSv1;
       ssl_ciphers  HIGH:!ADH:!EXPORT56:RC4+RSA:+MEDIUM;
       ssl_prefer_server_ciphers   on;
 
 
        if ( $query_string ~* ".*[;'<>].*" ){
        return 404;
        }
        if ( $query_string ~* ".*script.*" ){
        return 404;
        }
 
        location ~* ^/imgPath/.*$
        {
         rewrite ^/imgPath(.*) http://img.test.cn/imgPath$1 last;
        }
       
        location ~* ^/WEB-INF/.*$
        {
         deny all;
        }
 
        location ~* ^/(UserFiles|userfiles|images|Images|upload)/.*\.(jsp|js)$
        {
         deny all;
        }
        location / {
 
            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_pass   http://127.0.0.1:8888;
        }
}

说明:

1,https端口为443,此端口不是服务器默认开放端口,需要单独打开。

2,ssl文件放置正确即可。crt文件换成pem文件亦可。

3,资源文件路径可指向其他域名,可见location ~* ^/imgPath/.*$这段

三、单域名指向本地不同服务,以https配置为例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
upstream shop {
   server 127.0.0.1:7777;
}
 
server {
        listen       443;
        server_name  www.test.cn;
        root /mnt/website/ROOT;
     ssl                  on;
       ssl_certificate      /etc/nginx/ssl/www.test.cn.crt;
       ssl_certificate_key      /etc/nginx/ssl/www.test.cn.key;
       ssl_session_timeout  5m;
       ssl_protocols  SSLv3 TLSv1;
       ssl_ciphers  HIGH:!ADH:!EXPORT56:RC4+RSA:+MEDIUM;
       ssl_prefer_server_ciphers   on;
 
 
        if ( $query_string ~* ".*[;'<>].*" ){
        return 404;
        }
        if ( $query_string ~* ".*script.*" ){
        return 404;
        }
 
        location ~* ^/imgPath/.*$
        {
         rewrite ^/imgPath(.*) http://img.test.cn/imgPath$1 last;
        }
       
        location ~* ^/WEB-INF/.*$
        {
         deny all;
        }
 
        location ~* ^/(UserFiles|userfiles|images|Images|upload)/.*\.(jsp|js)$
        {
         deny all;
        }
        location / {
 
            rewrite ^(.*) https://www.test.com$1 permanent;
        }
 
location /shop/ {
proxy_pass http://shop;
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;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
proxy_buffer_size 128k;
proxy_buffers 2 256k;
proxy_busy_buffers_size 256k;
proxy_temp_file_write_size 256k;
}
    }

说明:

1,upstream shop,shop只能出现一次

2,可以是本地服务,亦可是其他ip服务,127.0.0.1换成对应ip即可

3,location /shop/ ,此块必须在server的区块内,/shop/为访问路径,即https://www.test.cn/shop/xxx,为访问路径

到此这篇关于Nginx配置http和https的实现步骤的文章就介绍到这了,更多相关Nginx配置http和https内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

蓄力AI

微信公众号搜索 “ 脚本之家 ” ,选择关注

程序猿的那些事、送书等活动等着你

原文链接:https://blog.csdn.net/u011291844/article/details/125978154

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 reterry123@163.com 进行投诉反馈,一经查实,立即处理!

相关文章

  • nginx实现透转的方法步骤

    nginx实现透转的方法步骤

    本文主要介绍了nginx实现透转的方法步骤,实现HTTP与HTTPS请求的客户端IP地址透传,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-05-05
  • nginx 反向代理负载均衡策略配置SSL访问匹配规则优先级

    nginx 反向代理负载均衡策略配置SSL访问匹配规则优先级

    本文主要包含1.Nginx配置文件详解2.Nginx实现负载均衡3.Nginx前端项目部署4.Nginx配置SSL访问5.nginx匹配规则说明以及匹配的优先级的内容详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • Nginx学习笔记之事件驱动框架处理流程

    Nginx学习笔记之事件驱动框架处理流程

    Nginx对请求的处理是通过事件触发的,模块作为事件消费者,只能被事件收集、分发器调用。在Nginx中,接收到一个请求时,不会产生一个单独的进程来处理该请求,而是由事件收集、分发器(进程)调用某个模块,由模块处理请求,处理完后再返回到事件收集、分发器
    2014-07-07
  • Nginx屏蔽F5心跳日志、指定IP访问日志

    Nginx屏蔽F5心跳日志、指定IP访问日志

    这篇文章主要介绍了Nginx屏蔽F5心跳日志、指定IP访问日志,本文直接给出配置示例,需要的朋友可以参考下
    2015-04-04
  • 采用ngxtop实现nginx实时访问数据统计

    采用ngxtop实现nginx实时访问数据统计

    这篇文章主要介绍了采用ngxtop实现nginx实时访问数据统计,需要的朋友可以参考下
    2014-07-07
  • 基于Nginx禁止指定IP、国外IP访问我的网站

    基于Nginx禁止指定IP、国外IP访问我的网站

    这篇文章主要介绍了用Nginx禁止指定IP、国外IP访问我的网站,想要实现这个功能方法有很多种,这里基于 Nginx 的 ngx_http_geoip2 模块来禁止国外 IP 访问网站,需要的朋友可以参考下
    2022-05-05
  • filebeat收集json格式的tomcat日志详解

    filebeat收集json格式的tomcat日志详解

    这篇文章主要为大家介绍了filebeat收集json格式的tomcat日志详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • 使用nginx实现一个端口和ip访问多个vue前端的全过程

    使用nginx实现一个端口和ip访问多个vue前端的全过程

    为满足单端口访问多个前端应用的需求,需要对nginx进行配置,同时修改vue项目的publicPath参数,这篇文章主要介绍了使用nginx实现一个端口和ip访问多个vue前端的相关资料,需要的朋友可以参考下
    2024-09-09
  • nginx openresty 快速入门指南

    nginx openresty 快速入门指南

    OpenResty是基于Nginx与Lua 的高性能Web平台,其**内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项,**用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关,这篇文章主要介绍了nginx openresty 快速入门指南,需要的朋友可以参考下
    2024-02-02
  • Nginx对网段内ip的连接数限流配置详解

    Nginx对网段内ip的连接数限流配置详解

    这篇文章主要介绍了Nginx对网段内ip的连接数限流配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03

最新评论