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

相关推荐
鹧鸪yy5 小时前
认识Node.js及其与 Nginx 前端项目区别
前端·nginx·node.js
猿究院--冯磊6 小时前
计算机网络--HTTP协议
网络协议·计算机网络·http
__lll_6 小时前
Nginx proxy_pass 404/502 根源:漏写末尾斜杠 / 的修复指南
nginx
让代码飞~7 小时前
idea进阶技能掌握, 使用自带HTTP测试工具,完全可替代PostMan
java·http·intellij-idea·postman
唐叔在学习1 天前
万字长文深度解析HTTPS协议
后端·https
Clownseven1 天前
Docker+Nginx+Node.js实战教程:从零搭建高可用的前后端分离项目
nginx·docker·node.js
Mr_Xuhhh1 天前
NAT、代理服务、内网穿透
网络·网络协议·http·https·udp·智能路由器
2501_915918412 天前
iOS 应用上架全流程实践,从开发内测到正式发布的多工具组合方案
android·ios·小程序·https·uni-app·iphone·webview
weisian1512 天前
HTTP协议-3-HTTP/2是如何维持长连接的?
网络·网络协议·http
xie_pin_an2 天前
网络原理与编程实战:从 TCP/IP 到 HTTP/HTTPS
网络·tcp/ip·http