一个关于nginx配置https的问题

cwmlow 2019-09-28 02:55:59
需要开发一个微信小程序
项目是springboot搭的
打成jar包放到服务器上后跑
因为给了域名(已备案)和必须得是https请求(微信)
所以准备采用nginx代理来完成
去阿里云申请了个免费的ssl证书下载后配置到nginx.conf里
然而配置完后,用谷歌浏览器测试访问 仍然是http请求(能访问到接口接收到数据),https请求则显示无法访问此网站
以下这是我nginx的配置,不知错误出在哪,看了nginx的错误日志 并生成错误记录。。。

#user nobody;
worker_processes 1;

#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

#pid logs/nginx.pid;


events {
worker_connections 1024;
}


http {
include mime.types;
default_type application/octet-stream;

#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 logs/access.log main;

sendfile on;
#tcp_nopush on;

#keepalive_timeout 0;
keepalive_timeout 65;

#gzip on;

server {
listen 80;
server_name cpsm.makepower.cc;
return 301 https://$host$request_uri;


#charset koi8-r;

#access_log logs/host.access.log main;

location / {
root html;
index index.html index.htm;
proxy_pass http://172.28.88.164:8686;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;
}

#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;
}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}

# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}


# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;

# location / {
# root html;
# index index.html index.htm;
# }
#}


# HTTPS server

server {
listen 443 ssl;
server_name cpsm.makepower.cc;

ssl_certificate C://nginx-1.16.1//ssl//2880195_cpsm.makepower.cc.pem;
ssl_certificate_key C://nginx-1.16.1//ssl//2880195_cpsm.makepower.cc.key;

ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;

ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;

location / {
root html;
index index.html index.htm;
proxy_pass http://172.28.88.164:8686;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;
}
}

}
...全文
348 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
NANU-NANA 2019-10-08
  • 打赏
  • 举报
回复
引用 7 楼 cwmlow 的回复:
[quote=引用 6 楼 NANU-NANA 的回复:]

server {
	listen 80 default_server;
	listen [::]:80 default_server;
	server_name _;
	return 301 https://$host$request_uri;
}
暂时找出原因,应该是提供给我的域名的443端口被别人占用了(域名是公司给我的具体不清楚),一直以为是我自己配置这边的问题[/quote] 嗯,我也没看出有什么问题,只能是给出一个简单的用法。
cwmlow 2019-10-08
  • 打赏
  • 举报
回复
引用 6 楼 NANU-NANA 的回复:

server {
	listen 80 default_server;
	listen [::]:80 default_server;
	server_name _;
	return 301 https://$host$request_uri;
}
暂时找出原因,应该是提供给我的域名的443端口被别人占用了(域名是公司给我的具体不清楚),一直以为是我自己配置这边的问题
NANU-NANA 2019-10-04
  • 打赏
  • 举报
回复

server {
	listen 80 default_server;
	listen [::]:80 default_server;
	server_name _;
	return 301 https://$host$request_uri;
}
cwmlow 2019-09-29
  • 打赏
  • 举报
回复
引用 4 楼 丁公子 的回复:
域名解析对吗? ping一下看看公网ip跟nginx ip是否一致
解析对的,不然证书验证那里也通过不了(证书绑定了该域名) 保持一致,现在问题是我开启nginx,监听了默认的80和443端口 80端口我先不添加http强制跳转https,用http://域名/项目路径是能访问到数据的 后添加后,443端口怎么都获取不到https请求(疑惑) 我确保443端口是被nginx占用监听的(关闭nginx 443端口就没了)
丁公子 2019-09-28
  • 打赏
  • 举报
回复
域名解析对吗? ping一下看看公网ip跟nginx ip是否一致
cwmlow 2019-09-28
  • 打赏
  • 举报
回复
引用 2 楼 大非鱼 的回复:
错误的日志呢
nignx并没有生成对应的错误日志 测试时是这样的 防火墙也添加了打开443端口(包括我关闭了防火墙来开放全部的端口仍然一样) 困扰许久
大非鱼 2019-09-28
  • 打赏
  • 举报
回复
错误的日志呢
cwmlow 2019-09-28
  • 打赏
  • 举报
回复
我在nginx.conf配置里写了http请求强制跳转https,为何再测试时仍然没有跳转 我用nginx -t 命令保证配置文件的格式是对的。 现在找不出错误出在哪里

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧