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

相关推荐
你住过的屋檐9 小时前
【Nginx】linux上安装nginx
linux·运维·nginx
++==11 小时前
RESTful详解:核心思想、框架、与HTTP的区别,API的设计风格
后端·http·restful
liangshanbo121511 小时前
Nginx 进程管理命令深度面试题解析
java·nginx·面试
weixin_5112552113 小时前
NGINX常用配置
linux·服务器·nginx
huashengzsj16 小时前
企业OV泛域名证书价格多少?2026年市场报价与选购指南
网络协议·http·https
GitLqr17 小时前
从 TCP 底层看实时通信:为什么 SSE 往往比 WebSocket 更香?
websocket·http·openai
酒神dnspup18 小时前
服务器端口检测怎么做?用 DNSPup 核对开放端口、监听服务与暴露风险
网络·网络协议·http·ssl证书·http状态码·服务器端口
酒神dnspup19 小时前
HTTP状态码检测怎么做?用 DNSPup 排查 4xx、5xx、重定向与网站可用性
网络·网络协议·http·http状态码
痕迹运维19 小时前
Nginx Docker容器化安装
nginx
酒神dnspup20 小时前
SSL证书检测完整指南:用 DNSPup 排查过期、域名不匹配与 TLS 握手失败
网络·网络协议·http·ssl证书·http状态码