nginx中http/https域名配置

本文详细介绍了如何使用Nginx进行HTTP和HTTPS的配置,包括监听端口、域名设置、根目录指定、索引文件、代理传递等关键步骤。同时,讲解了如何配置SSL证书实现网站加密,并提供了HTTP自动重定向到HTTPS的设置方法。

1.http配置  cd /etc/nginx

vim default.conf

  • 启动的项目

server {
        listen 80;
        server_name www.12345.com; #域名
        root html;
        index index.html index.htm;
       
        location / {
             #   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
              #  proxy_set_header Host $http_host;
               # proxy_set_header X-Forwarded-Proto http;
                #proxy_redirect off;
               # proxy_connect_timeout 240;
               # proxy_send_timeout 240;
              #  proxy_read_timeout 240;
                 # note, there is not SSL here!plain HTTP is used
                proxy_pass http://127.0.0.1:8020; #端口
        }

}

  • 静态页面

  server {
        listen 80;
        server_name www.12345.com;
        root html;
        location / {
              root /opt/saas-web/;#所在文件夹
                  index index.html;
        }
    }

2.https配置  cd /etc/nginx

vim default.conf

  • 启动的项目

  server {
        listen 443;
        server_name www.12345.com; #域名
        ssl on;
        root html;
        index index.html index.htm;
        ssl_certificate   cert/14450223030237.pem; #购买的证书
        ssl_certificate_key  cert/14450223030237.key; #购买的证书
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        location / {
             proxy_pass http://127.0.0.1:8020;
        }
    }

  • 静态页面

 server {
        listen 443;
        server_name www.12345.com;
        ssl on;
        root html;
        index index.html index.htm;
        ssl_certificate   cert/14450223030237.pem;
        ssl_certificate_key  cert/14450223030237.key;
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        location / {
              root /opt/weixin/;所在文件夹
              index index.html;
        }
    }

3.http自动重定向到https

server {
        listen 80;
        server_name www.12345.com;
        rewrite ^(.*)$ https://$host$1 permanent;
}

配置 Docker 中的 Nginx 使用 HTTPS 证书时,出现访问 HTTPS 域名返回 404 错误的情况可能由多种原因引起。以下是一些常见的排查与解决方法: ### 检查 Nginx 配置文件是否正确 确保 Nginx配置文件中启用了 SSL,并且指定了正确的证书路径和私钥路径。例如,Nginx 的站点配置文件通常位于 `/etc/nginx/sites-available/` 目录下,需要确保该文件中的 `listen` 指令包含 `ssl` 参数,并且 `server` 块内包含了指向 SSL 证书和私钥的正确路径。一个典型的 HTTPS 配置示例如下: ```nginx server { listen 443 ssl; server_name example.com; ssl_certificate /etc/nginx/ssl/example.com.crt; ssl_certificate_key /etc/nginx/ssl/example.com.key; location / { root /usr/share/nginx/html; index index.html index.htm; } } ``` 请确认这些路径与实际挂载到容器内的文件位置一致 [^2]。 ### 确认文件挂载是否正确 当使用 Docker 运行 Nginx 容器时,需要将本地的 Nginx 配置文件、网页根目录以及 SSL 证书文件挂载到容器对应的位置。命令如下: ```bash docker run --name ssl \ --network host \ -v /home/jykj/nginxssl/dist:/usr/share/nginx/html \ -v /home/jykj/nginxssl:/etc/nginx \ -v /home/jykj/nginxssl/logs:/var/log/nginx \ -d nginx ``` 此命令会将主机上的 `/home/jykj/nginxssl` 目录挂载为容器内的 `/etc/nginx` 目录,从而允许容器访问 SSL 证书文件 [^3]。 ### 检查 Nginx 是否重新加载 修改了 Nginx配置后,必须重新加载配置才能使更改生效。可以通过执行以下命令来实现这一点: ```bash docker exec -it ssl nginx -s reload ``` ### 核对域名解析 即使没有使用 CDN 或者域名管理平台提供的 SSL 功能,也应检查 DNS 解析是否正确指向了服务器 IP 地址,并且服务器防火墙规则允许外部访问 443 端口。 ### 测试 Nginx 配置是否有语法错误 运行以下命令可以测试当前 Nginx 配置是否存在语法错误: ```bash docker exec -it ssl nginx -t ``` ### 查看日志信息 查看 Nginx 日志可以帮助进一步诊断问题所在。日志文件通常位于 `/var/log/nginx/` 目录下,根据之前提到的卷映射设置,这应该对应于主机上的 `/home/jykj/nginxssl/logs` 文件夹。 ```bash tail -f /home/jykj/nginxssl/logs/access.log tail -f /home/jykj/nginxssl/logs/error.log ``` 通过以上步骤,应当能够识别并修复导致 404 错误的问题。如果问题依旧存在,则建议详细阅读相关日志条目以获取更多线索。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值