nginx配置http和https

二话不说,先上配置信息

powershell 复制代码
#user  nobody;
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    client_max_body_size 100M;
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
       # server_name  localhost;

		#配置服务器地址(这里域名和ip都配置了)
		server_name  **.com,www.***.com,47.96.82.59;


		#用户端
		location / {
			root   ./html/user;
			try_files $uri $uri/index.html
			index  index.html index.htm;
		}
		#商家端
		location /move {
			alias   ./html/technician-terminal;
			try_files $uri $uri/index.html
			index  index.html index.htm;
		}

		#管理端
        location /admin {
                alias   ./html/admin-pc;
                try_files $uri $uri/index.html
                index  index.html index.htm;

        }
		#通过nginx代理,在服务器上做文件服务,这个files是访问前缀,alias是需要代理的目标文件位置(/files/  为服务器根目录)
        location /files/ {
            alias /files/;  # 静态文件目录的别名
        }

		#代理转发API接口,前端页面可通过域名加prod-api的形式调用后端接口
        location /prod-api/ {
			#这里接的是ip+端口号,指向具体的服务器
            proxy_pass http://178.89.89.145:6001/;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;

        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        
    }




    # HTTPS server
    #
    server {
		#https对应的SSL端口,需要暴露出来
        listen       443 ssl;
		#服务域名
        server_name  www.****.com;
		#ssl证书,证书需要下载下了,放到NGINX配置里面,放到conf目录中,建立cert文件夹,在cert文件中存放两个证书文件
        ssl_certificate      cert/****.com.pem;
        ssl_certificate_key  cert/****.com.key;

		#用于配置SSL会话缓存。通过配置ssl_session_cache,Nginx可以缓存之前建立的SSL会话信息,以便在客户端再次发起连接时快速恢复会话,
		#从而减少SSL握手的时间和资源消耗。这种缓存机制可以提高SSL连接的建立速度,进而提升服务器的性能和响应速度
        ssl_session_cache    shared:SSL:1m;
		#参数用于指定客户端可以重用会话参数的时间。一旦超过这个时间,会话将不再可用
        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; #表示使用的TLS协议的类型。
       	ssl_prefer_server_ciphers on;
		location / {
		#这个是类似于跳转地址一样的东西,也就是服务域名(个人理解),这个域名必须是http得,否则会跨域
        	proxy_pass http://www.****.com/;
		}

    }

}

这一看配置文件就懂了吧,啥东西都有注释,写的明明白白的,这里面强调一下,就是https的最后一个类似于跳转链接的配置,这个一定要写域名,和服务地址那边的域名要保持一直,不然就有可能产生https的跨域问题,别的也没啥了,挺简单的一个配置,如有缺少说明,或者说明不对的,欢迎指正,这个配置文件是可用的,可以直接贴上去用,当然,配置SSL的环境数据,还是需要单独处理一下的,不会处理的,可以参考nginx安装SSL

相关推荐
咸鱼加辣3 小时前
【nginx面试题】nginx虚拟
运维·nginx·github
全栈工程师修炼指南4 小时前
Nginx | HTTPS 加密传输:Nginx 反向代理与上游服务 SSL 双向认证实践
网络·数据库·nginx·https·ssl
Dovis(誓平步青云)4 小时前
《Linux生态下HTTP协议解析+进阶HTTPS证书:抓包、拆解与问题排查实战》
linux·运维·http
Boop_wu4 小时前
[Java EE] 网络原理(2) http
网络·网络协议·http
苹果醋35 小时前
JAVA设计模式之策略模式
java·运维·spring boot·mysql·nginx
大布布将军5 小时前
⚡️编排的艺术:BFF 的核心职能——数据聚合与 HTTP 请求
前端·网络·网络协议·程序人生·http·node.js·改行学it
linweidong21 小时前
顺丰运维面试题及参考答案
运维·nginx·容器·ansible·运维开发·防火墙·python面试
MonkeyKing_sunyuhua1 天前
ubuntu22.04安装nginx
运维·windows·nginx
Bruce_Liuxiaowei1 天前
网站敏感文件_目录大全(分类记忆+风险标注)
运维·网络·网络协议·http·网络安全·https
charlee441 天前
使用cpp-httplib发布HTTP服务
c++·http·json·cpp-httplib