docker 部署设置 HTTPS 失效

docker 启动命令如下:

docker run --detach --name solo --network=host \
    --env RUNTIME_DB="MYSQL" \
    --env JDBC_USERNAME="solo" \
    --env JDBC_PASSWORD="123456" \
    --env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \
    --env JDBC_URL="jdbc:mysql://127.0.0.1:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true" \
    b3log/solo --listen_port=8080 --server_scheme=https --server_host=www.studying.icu --server_port=443

nginx 配置如下

upstream backend {
	server localhost:8080;
}
server{
	listen	80;
	server_name	www.studying.icu;
	return 301	https://$server_name$request_uri;
}
server{
	listen 80;
	server_name studying.icu;
	return 301 https://$server_name$request_uri;
}

server{
	listen      443 ssl;
	server_name www.studying.icu;

	ssl on;
	ssl_certificate 1_www.studying.icu_bundle.crt; 
    ssl_certificate_key 2_www.studying.icu.key; 

	ssl_session_cache shared:SSL:1m;
	ssl_session_timeout  5m;
	ssl_protocols  SSLv2 SSLv3 TLSv1;
	ssl_ciphers  HIGH:!aNULL:!MD5;
	ssl_prefer_server_ciphers on;

	location / {
		proxy_pass http://backend$request_uri;
		proxy_set_header  Host $host:$server_port;
		proxy_set_header  X-Real-IP  $remote_addr;
		proxy_set_header X-Forwarded-Proto https;
		client_max_body_size  10m;
	}

	access_log  /www/wwwlogs/access.log;
}

不启用 https 的情况下,是能正常访问的,启动 https 的情况就直接访问不了。

请问下这种情况大家是如何处理的?

广告 我要投放

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 88250
    订阅者

    看下 NGINX access 和 error 日志。

    2 回复
  • yxw839841231
    作者

    配置 HTTPS 的情况下 请求看不到对应的访问日志,也没有对应的错误日志

  • yxw839841231
    作者

    134.122.133.138 - - [18/Sep/2021:13:10:56 +0800] "GET http://m.588ck.cn/ HTTP/1.1" 301 162 "-" "Mozilla/5.0 (Linux; Android 6.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.164 Mobile Safari/537.36"
    134.122.133.138 - - [18/Sep/2021:13:10:56 +0800] "CONNECT www.studying.icu:443 HTTP/1.1" 400 150 "-" "-"

    http 请求被重定向到了 https 后面请求到 443 端口 400 错误了,这个是哪里设置不对么?

  • yxw839841231
    作者

    已解决 上面的配置 除了 ssl_protocols 级别低之外没有什么问题,重定向后无法访问是因为 443 端口被屏蔽了。