nginx监听https域名

本文档详细介绍了在Ubuntu 18系统上,如何为小程序的HTTPS域名调用接口配置nginx服务器。步骤包括安装nginx,拷贝并配置服务器文件,创建文件链接,停止并重启nginx服务。

系统 :ubuntu 18

需求

小程序需要通过https域名调用接口,后端则使用2022端口

步骤:

1.下载nginx

apt-get install nginx

2.拷贝配置文件

/etc/nginx/sites-available 目录下,复制default 文件 创建自己的文件

3.创建文件链接

/etc/nginx/sites-enabled 目录下,创建 api-server 文件链接

4.配置api-server

server {

        #需要监听的域名
        server_name xxxx.xxxx.com;
        listen 443 ssl;
        ssl on;
        
        #证书 放在 /etc/nginx 目录下
        ssl_certificate xxxxx.pem;
        ssl_certificate_key xxxxxxx.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;


        location / {
                #后端服务的地址
                proxy_pass http://xx.xx.xx.xx:2022;
                proxy_buffering on;
                proxy_redirect default;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                add_header Content-Type "application/json;charset=utf-8";
                client_max_body_size 70m;
        }
}

5.停止nginx

6.启动nginx

在配置 Nginx 以实现 HTTPS 域名请求映射到内网 IP 地址时,需要完成以下几个关键步骤:配置 SSL 证书、域名绑定以及请求转发。 以下是一个完整的配置示例: ```nginx server { listen 443 ssl; # 监听 HTTPS 默认端口 server_name www.test.example.com; # 绑定的域名 ssl_certificate /etc/nginx/ssl/www.test.example.com.crt; # SSL 证书路径 ssl_certificate_key /etc/nginx/ssl/www.test.example.com.key; # SSL 私钥路径 ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # 支持的 SSL 协议版本 ssl_ciphers HIGH:!aNULL:!MD5; # 加密套件 ssl_prefer_server_ciphers on; 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_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_cache_bypass $http_upgrade; proxy_pass https://192.168.1.100:8443; # 内网服务地址及端口 } } ``` ### 配置说明 1. **监听 HTTPS 端口**:`listen 443 ssl;` 表示监听 HTTPS 默认端口。 2. **绑定域名**:`server_name` 指定绑定的域名,例如 `www.test.example.com`。 3. **SSL 证书配置**:`ssl_certificate` 和 `ssl_certificate_key` 分别指定 SSL 证书和私钥的路径[^3]。 4. **SSL 协议和加密套件**:配置 SSL 协议版本和加密套件,确保安全性。 5. **请求转发**:`proxy_pass` 将请求转发到内网 IP 地址和端口,如 `https://192.168.1.100:8443`。同时,`proxy_set_header` 用于设置转发请求的头部信息,以确保后端服务器能够正确识别原始请求[^3]。 ### 注意事项 - 确保 SSL 证书和私钥文件路径正确,并且文件权限设置合理。 - 如果内网服务使用 HTTP 协议,`proxy_pass` 应该指向 HTTP 地址,如 `http://192.168.1.100:80`。 - 若需要同时支持 HTTP 和 HTTPS,可以配置一个额外的 `server` 块监听 80 端口,并将请求重定向到 HTTPS 地址。 ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值