计算机学习

您现在的位置是:首页 > nginx > 正文

nginx

nginx一台机器部署多个子域名的反向代理(https协议)

hhb2022-03-26nginx268
一登陆腾讯云找到域名注册

一 登陆腾讯云

  • 找到域名注册

  • 1648310493(1).png

  • 点击解析


image.png

  •     点击ssl按步骤进行申请就行

    image.png

image.png

申请成功后下载证书.解压后得到四个文件.把以key,crt为后缀的两个文件上传到nginx的conf文件夹下就行了。另外两个不用。

image.png

二 配置nginx

  •   conf下的vhosts没有就自己创建.然后在nginx.conf添加

include vhosts/*.conf;
  •  编辑conf/vhosts/ssl-blog.conf,内容如下

upstream  blog{
    #blog监听的端口
    server  localhost:96;
}
server {
        #SSL 访问端口号为 443
        listen 443 ssl; 
        #填写绑定证书的域名
        server_name py-php.cn;
        #证书文件名称
        ssl_certificate  py-php.cn_bundle.crt;
        #私钥文件名称
        ssl_certificate_key py-php.cn.key; 
        ssl_session_timeout 5m;
        #请按照以下协议配置
        ssl_protocols TLSv1.2; 
        #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
        ssl_prefer_server_ciphers on;
        location / {
            proxy_pass http://blog;
            #以下是一些反向代理的配置可删除
            proxy_redirect             off;
            #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
            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 X-Forwarded-Proto https;
            client_max_body_size       10m; #允许客户端请求的最大单文件字节数
            client_body_buffer_size    128k; #缓冲区代理缓冲用户端请求的最大字节数
            proxy_connect_timeout      300; #nginx跟后端服务器连接超时时间(代理连接超时)
            proxy_send_timeout         300; #后端服务器数据回传时间(代理发送超时)
            proxy_read_timeout         300; #连接成功后,后端服务器响应时间(代理接收超时)
            proxy_buffer_size          4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
            proxy_buffers              4 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
            proxy_busy_buffers_size    64k; #高负荷下缓冲大小(proxy_buffers*2)
            proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传
        }
   }
  • 编辑conf/vhosts/ssl-gitlab.conf,内容如下

upstream  gitlab{
    # 域名对应 gitlab配置中的 external_url
    # 端口对应 gitlab 配置中的 nginx['listen_port']
    server localhost:8092;
}
server {
        #SSL 访问端口号为 443
        listen 443 ssl; 
        #填写绑定证书的域名
        server_name gitlab.py-php.cn;
        #证书文件名称
        ssl_certificate  gitlab.py-php.cn_bundle.crt;
        #私钥文件名称   
        ssl_certificate_key gitlab.py-php.cn.key;  
        ssl_session_timeout 5m;
        #请按照以下协议配置
        ssl_protocols TLSv1.2; 
        #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
        ssl_prefer_server_ciphers on;
        location / {
            proxy_pass http://gitlab;
            #以下是一些反向代理的配置可删除
            proxy_redirect             off;
            #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
            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 X-Forwarded-Proto https;
            client_max_body_size       10m; #允许客户端请求的最大单文件字节数
            client_body_buffer_size    128k; #缓冲区代理缓冲用户端请求的最大字节数
            proxy_connect_timeout      300; #nginx跟后端服务器连接超时时间(代理连接超时)
            proxy_send_timeout         300; #后端服务器数据回传时间(代理发送超时)
            proxy_read_timeout         300; #连接成功后,后端服务器响应时间(代理接收超时)
            proxy_buffer_size          4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
            proxy_buffers              4 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
            proxy_busy_buffers_size    64k; #高负荷下缓冲大小(proxy_buffers*2)
            proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传
        }
   }

注意:

server_name gitlab.py-php.cn与server_name py-php.cn,用https访问的时候不要乱填.它必须是解析到主机上的域名(包括子域名).

(用http进行反向代理的时候,我们只要端口对了,就能访问.具体看:https://py-php.cn/post/9.html)

  • 重启nginx服务

sbin/nginx -s reload

三 结果

  • 先直接访问原端口,完全ok.

http://py-php.cn:9002/

image.png


再用https访问 https://supervisor.py-php.cn

image.png


这样就实现https协议的反向代理

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~