ubuntu 24.04-无域名创建本机和局域网和同网段局域网机器可访问的https网页服务

  1. 安装nginx, apt install nginx

    apt install nginx

  2. 创建nginx.conf配置文件:

    gedit /etc/nginx/nginx.conf

  3. 配置文件内容如下:

    user snake;
    worker_processes auto;
    error_log /var/log/nginx/error.log;
    pid /run/nginx.pid;

    Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.

    include /usr/share/nginx/modules/*.conf;

    events {
    worker_connections 1024;
    }

    http {
    log_format main '$remote_addr - remote_user [time_local] "request" ' 'status body_bytes_sent "http_referer" '
    '"http_user_agent" "http_x_forwarded_for"';

     access_log  /var/log/nginx/access.log  main;
    
     sendfile            on;
     tcp_nopush          on;
     tcp_nodelay         on;
     keepalive_timeout   65;
     types_hash_max_size 4096;
    
     include             /etc/nginx/mime.types;
     default_type        application/octet-stream;
    
     # Load modular configuration files from the /etc/nginx/conf.d directory.
     include /etc/nginx/conf.d/*.conf;
    
     # HTTP Server (Port 80) - 强制重定向到 HTTPS
     server {
         listen 80;
         listen [::]:80;
         server_name _;
    
         # 强制重定向到 HTTPS
         return 301 https://$host$request_uri;
     }
    
     # TLS enabled server (Port 443)
     # HTTPS server
     
     server {
        listen       443 ssl;
        server_name 192.168.0.14 192.168.89.55 localhost;
    
        ssl_certificate /etc/nginx/ssl/server.crt;
        ssl_certificate_key /etc/nginx/ssl/server.key;   
    
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
    
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;
    
        location / {
    

    root html;

            root	/media/snake/Rocky/Projects/github/vtk/Kitware/vtk-wasm-demos/main/ubuntu;
            index  index.html;
        }
     }
    

    }

  4. 关闭 linux 的防火墙(仅用于本地测试, 生产环境不可这样搞)

    systemctl stop ufw

    systemctl stop firewalld

  5. 开启nginx服务:

    systemctl start nginx

  6. 如果修改了nginx.conf配置文件,则需要重启nginx服务:

    systemctl restart nginx

    systemctl reload nginx

  7. 验证是否已经开启成功:

    systemctl status nginx

如果显示

● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: enabled)
     Active: active (running) since Fri 2024-12-20 17:40:57 CST; 30min ago
       Docs: man:nginx(8)
    Process: 129619 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 129621 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 129663 ExecReload=/usr/sbin/nginx -g daemon on; master_process on; -s reload (code=exited, status=0/SUCCESS)
   Main PID: 129622 (nginx)
      Tasks: 25 (limit: 74010)
     Memory: 29.2M (peak: 50.1M)
        CPU: 467ms
     CGroup: /system.slice/nginx.service
             ├─129622 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
             ├─129665 "nginx: worker process"
             ├─129666 "nginx: worker process"
             ├─129667 "nginx: worker process"
             ├─129668 "nginx: worker process"

则表示nginx服务已经成功运行。

  1. 本机访问:

https://127.0.0.1/

或:

https://localhost/

或:

https://192.168.89.55/

, 同网段局域网机器访问:

https://192.168.89.55/

  1. 如果nginx没有成功开启, 则验证一下配置文件:

    nginx -t

根据报错信息,修改 /etc/nginx/nginx.conf配置文件, 直到验证通过, 显示:

nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

稍后补充证书和自签名问题。

参考资料:

Nginx安装和配置_apt install nginx-CSDN博客

nginx配置https(内网)-CSDN博客

局域网https自签名教程_rehash: warning: skipping ca-certificates.crt,it d-CSDN博客

Nginx内网环境开启https双协议-CSDN博客

nginx配置局域网访问https - 简书

全网最详细的局域网https自签名教程(收藏)

出于某个需求,要生成 127.0.0.1 的自签名证书。

防火墙管理入门:Firewalld 与 UFW_ufw和firewalld-CSDN博客

linux 的防火墙 ufw、firwalld、iptables 、 - 沧海一声笑rush - 博客园

服务器防火墙工具firewalld、ufw的使用_ufw permanent-CSDN博客

Ubuntu 9.10 UFW防火墙使用教程

如何修复UFW状态在Linux中显示为非活动-电脑知识-PHP中文网

os:ubuntu 使用防火墙firewalld - lnlidawei - 博客园

本地测试使用自签名证书以开启网站https(例子说明:Nginx_访问自签名证书服务器-CSDN博客

mkcert - 0 配置,为 localhost 127.0.0.1 自签发安全证书 - 小众软件

如何修复"无法连接到https://127.0.0.1 SSL证书问题:自签名证书"-腾讯云开发者社区-腾讯云

自签名证书仅适用于localhost,不适用于127.0.0.1-腾讯云开发者社区-腾讯云

ubuntu利用nginx配置https服务器_百度知道

本地 https 环境解决方案 - 哔哩哔哩

本地https快速解决方案------mkcert - DTeam 技术日志

https://github.com/FiloSottile/mkcert

本地https快速解决方案------mkcert - 简书

本地 https 环境解决方案

同一局域网下windows和linux之间通过SSH互传文件

ubuntu关闭防火墙后无法访问端口?-纵横云

Ubuntu8080端口无法被访问_ubuntu开放8080端口-CSDN博客

相关推荐
SANGEDZ_YYDS7 分钟前
三格电子——新品IE103转ModbusTCP网关
服务器·网络·tcp/ip
gsgbgxp1 小时前
Ubuntu将深度学习环境配置移植到新电脑
深度学习·ubuntu
海涛高软1 小时前
linux上qt打包(二)
linux·运维·服务器
monstercl1 小时前
【C#】预处理指令
服务器·数据库·c#
小锋学长生活大爆炸2 小时前
【教程】apache设置禁止通过IP访问,只能域名访问
linux·运维·服务器·网络·网络协议·tcp/ip·apache
七七期2 小时前
解决JPS少DataNode的情况
linux·运维·服务器
枫舞雪域3 小时前
【Ubuntu】安装QQ
linux·运维·ubuntu
Cachel wood4 小时前
Vue.js前端框架教程12:Vue表单验证rules和form.validate
服务器·前端·javascript·vue.js·前端框架·ecmascript
Epiphanywh4 小时前
Ubuntu 20.04 卸载和安装 MySQL8.0
linux·ubuntu·adb
CV大法好4 小时前
ADO.NET进阶
服务器·数据库