服务器ip:port服务用nginx 域名代理

ubuntu

1、安装nginx

c 复制代码
# 更新软件包列表
sudo apt update

# 安装Nginx
sudo apt install nginx -y

# 检查Nginx状态
sudo systemctl status nginx

2、创建存放域名 SSL证书的目录

c 复制代码
# 创建目录
sudo mkdir -p /etc/nginx/ssl

# 复制证书文件到该目录
sudo cp play.cn_bundle.crt /etc/nginx/ssl/
sudo cp play.cn.key /etc/nginx/ssl/

# 设置证书文件权限
sudo chmod 600 /etc/nginx/ssl/*
sudo chown root:root /etc/nginx/ssl/*

3、创建Nginx配置文件:

c 复制代码
vim  /etc/nginx/sites-available/aidjzs.conf
c 复制代码
server {
    listen 80;
    listen [::]:80;
    server_name a域名.cn;

    # 将HTTP重定向到HTTPS
    location / {
        return 301 https://$host:8089$request_uri;
    }
}

server {
    listen 8089 ssl;
    listen [::]:8089 ssl;
    server_name a域名.cn;

    # SSL证书配置
    ssl_certificate /etc/nginx/ssl/play.cn_bundle.crt;
    ssl_certificate_key /etc/nginx/ssl/play.cn.key;

    # SSL配置优化
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    ssl_prefer_server_ciphers off;

    # 反向代理配置
    location / {
        proxy_pass https://服务器内网ip:8089;
        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 $scheme;
    }
}

4、创建符号链接启用配置:

c 复制代码
sudo ln -s /etc/nginx/sites-available/aidjzs.conf /etc/nginx/sites-enabled/

5、打开防火墙

c 复制代码
# 允许HTTP(80)和自定义端口(8089)
sudo ufw allow 80
sudo ufw allow 8089

6、检测配置、重启

c 复制代码
# 测试Nginx配置
sudo nginx -t

# 如果测试通过,重启Nginx
sudo systemctl restart nginx
相关推荐
Magic--1 小时前
深入解析管道:最基础的进程间通信(IPC)实现
java·服务器·unix
三三有猫1 小时前
代理IP:按流量还是按IP/时长计费更划算?
网络·网络协议·tcp/ip
陳10302 小时前
Linux:基础开发工具
linux·运维·服务器
我爱学习好爱好爱2 小时前
Ansible 常用模块详解:cron、archive、unarchive实战
linux·服务器·ansible
乌恩大侠2 小时前
【KrakenSDR】MATLAB接口
服务器·网络·matlab
似水এ᭄往昔3 小时前
【Linux】--进程概念
linux·运维·服务器
IDIOT___IDIOT3 小时前
Linux 使用 `cp` 命令导致挂载点被覆盖问题记录
linux·运维·服务器
RisunJan3 小时前
Linux命令-mount(用于挂载Linux系统外的文件)
linux·运维·服务器
脆皮炸鸡7554 小时前
Linux开发工具~~~版本控制器Git以及调试工具GDB
linux·服务器·开发语言·经验分享·git·学习方法
马尔代夫哈哈哈4 小时前
用户聊天室-测试报告
运维·服务器