最近用hyperf写了支付系统,本地调试支付完成,打包上线部署,要解决https协议进行相应的访问,但是hyperf 官方没有找到相关的ssl配置说明。搜了一下soole还是有几个案例说明,据我的了解,swoole是不用nginx进行代理访问的,hyperf 只能是Nginx代理转发。

基本的原理是:配置一个域名 https://pay.com(nginx 配置443端口) 访问后   重定向到 内部 127.0.0.1:9501 (nginx proxy_pass 代理转发方式)

nginx 配置

 1 server
2 {
3 listen 80;
4 listen 443 ssl http2;
5 server_name pay.**.com;#你的域名
6 index index.php index.html index.htm default.php default.htm default.html;
7 root /www/wwwroot/pay.bocew.com/hyperf-skeleton/public; #配置这个目录是为了访问静态资源页面,我的项目资源是放在public下;hyperf server.config 是配置了静态资源目录,一旦使用了nginx就会失效访问 404
8
9 #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
10 #error_page 404/404.html;
11 ssl_certificate /etc/letsencrypt/live/pay.**.com/fullchain.pem; #证书 阿里云下载
12 ssl_certificate_key /etc/letsencrypt/live/pay.**.com/privkey.pem;#证书 我选择的是nginx 下载证书
13 ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
14 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
15 ssl_prefer_server_ciphers on;
16 ssl_session_cache shared:SSL:10m;
17 ssl_session_timeout 10m;
18 error_page 497 https://$host$request_uri;
19
20 #SSL-END
30
31 #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
32 include /www/server/panel/vhost/rewrite/pay.bocew.com.conf;
33 #REWRITE-END
34 location / {
35 proxy_pass http://127.0.0.1:9501; #重点在这里了,127.0.0.1 也可以改成你服务器的IP,我docker hyperf配置是9501映射端口给外网访问
36 proxy_set_header Host $host:$server_port;
37 proxy_set_header X-Real-IP $remote_addr;
38 proxy_set_header X-Real-PORT $remote_port;
39 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
40 }
41 #禁止访问的文件或目录
42 location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
43 {
44 return 404;
45 }
46
47 #一键申请SSL证书验证目录相关设置
48 location ~ \.well-known{
49 allow all;
50 }
51
52 67 }

我这边本地开发环境是window10+Docker Desktop 用的docker配置依赖开发环境,以下是本地项目

说到这里,顺便补充一下:本地项目开发好了以后,只需要进行镜像打包 成 zip格式包,然后上传到正式环境服务器,正式环境安装好docker

进行镜像包导入即可运行。

本地打包镜像

docker save -o hyperf.zip hyperf/hyperf:7.4-alpine-v3.11-swoole

线上服务器上传后执行(一定要测试docker 环境已经安装了 输入docker 会出现命令,中途省了一些具体操作,时间有限没有贴每个细节步骤了,上传方式可以使用 scp -P 22 hypef.zip root@127.0.0.1:/www/wwwroot/pay.com/  然后输入root 密码 即可上传) 

 

docker load --input hyperf.zip 执行完后就能看到一个镜像了,输入docker ps 但是是空的,执行启动命令吧,看下一个步骤

启动镜像下的容器  pay.com换成自己域名,这不是正式域名

docker run -v /www/wwwroot/pay.com/hyperf-skeleton:/hyperf-skeleton \
-p 9501:9501 -it \
--privileged -u root \
--entrypoint /bin/bash \
hyperf/hyperf:7.4-alpine-v3.11-swoole

进行容器后运行启动命令

hyperf-skeleton/bin/hyperf.php serve:watch

下图是项目访问

hyperf 配置 https 访问的更多相关文章

  1. Linux Apache配置https访问

    配置https访问 该环境是rh254课程配套的一个环境,不过配置方法步骤相同. 要求: 使用虚拟主机技术部署两个网站: 网站1: 绑定域名 www0.example.com 目录在 /srv/www ...

  2. OkHttp配置HTTPS访问+服务器部署

    1 概述 OkHttp配置HTTPS访问,核心为以下三个部分: sslSocketFactory() HostnameVerifier X509TrustManager 第一个是ssl套接字工厂,第二 ...

  3. 使用docker搭建最新版本的gitea,并配置HTTPS访问

    使用docker搭建最新版本的gitea,并配置HTTPS访问 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 简介 之前有搭建 ...

  4. 如何通过Zabbix Docker配置HTTPS访问系统?

    概述 前面文章曾介绍过如果使用docker-compose快速部署一个Zabbix系统,但是部署的Zabbix系统是使用http协议进行访问的.有时候为了保证安全.我们需要配置使用https协议进行访 ...

  5. lamp之apache配置https访问

    配置apache 使用https 注:怕其他人由于路径的原因出问题,首先声明一下,本人apache的安装目录为 : /usr/local/httpd2.4.25,如果不是,请参考进行配置 注: 对于如 ...

  6. nginx配置https访问

    一.准备 环境:centos6.8 nginx:1.13.6 二.开始       首先安装依赖包: yum install -y gcc gcc-c++ autoconf automake make ...

  7. 本地测试Tomcat配置Https访问

    一.tomcat开启HTTPS配置 1) 准备证书 使用jdk工具keytool生成一个ssl测试用证书, 一路按照提示操作输入即可 keytool -genkey -alias tomcat -ke ...

  8. Apache 配置 HTTPS访问

    将需要配置的项目移动到另一根目录下,作为https访问位置. 修改bitnami配置文件..\Bitnami\wampstack-5.6.19-0\apache2\conf\bitnami\bitna ...

  9. 基于openresty配置https访问

    安装方法:http://openresty.org/cn/linux-packages.html 1. openssl的版本信息 [root@localhost conf]# openssl vers ...

随机推荐

  1. JDK19新特性使用详解

    前提 JDK19于2022-09-20发布GA版本,本文将会详细介绍JDK19新特性的使用. 新特性列表 新特性列表如下: JPE-405:Record模式(预览功能) JPE-422:JDK移植到L ...

  2. 中小制造企业需要ERP和MES吗?

    并不是所有中小制造企业都需要ERP和MES,这个取决于你的规模和管理思维与模式!匹配很重要,不同规模的企业做不同的选择!比如你大型企业,一般是要使用ERP的,其工厂也应该需要上MES系统,ERP主要用 ...

  3. WPF开发经验-实现自带触控键盘的TextBox

    一 引入 项目有个新需求,当点击或触碰TextBox时,基于TextBox的相对位置,弹出一个自定义的Keyboard,如下图所示: 二 KeyboardControl 先实现一个自定义的Keyboa ...

  4. QML 信号与响应方法的总结

    以下内容为本人的著作,如需要转载,请声明原文链接微信公众号「englyf」https://www.cnblogs.com/englyf/p/16748191.html 如果面试过程中,面试官想了解你对 ...

  5. SpringMVC访问静态资源的问题。

    在项目中引用css和js文件一直出错,反复修改文件路径始终访问不到.究其原因原来是应该在web.xml 文件中添加访问静态资源的默认servlet. 如下. <servlet-mapping&g ...

  6. flutter系列之:builder为构造器而生

    目录 简介 Builder StatefulBuilder LayoutBuilder 总结 简介 flutter中有很多种Builder,虽然所有的builder都是构造器,但是不同的builder ...

  7. Mysql主从配置步骤与各种错误

    测试环境: 2台腾讯云服务器.CentOS 7.2 64位,1G,lnmp. PHP:5.6:Mysql:5.5 两台干净的服务器 下面开始配置主服务器(master) 1.修改配置:  log-bi ...

  8. Eureka Server 实现在线扩容

    Eureka Server 实现在线扩容 作者:Grey 原文地址: 博客园:Eureka Server 实现在线扩容 CSDN:Eureka Server 实现在线扩容 需求 Eureka 是 Sp ...

  9. SpringCloud微服务实战——搭建企业级开发框架(四十八):【移动开发】整合uni-app搭建移动端快速开发框架-使用第三方UI框架

      uni-app默认使用uni-ui全端兼容的.高性能UI框架,在我们开发过程中可以满足大部分的需求了,并且如果是为了兼容性,还是强烈建议使用uni-ui作为UI框架使用.   如果作为初创公司,自 ...

  10. 【原创】在RT1050 LittleVgl GUI中嵌入中文输入法框架

    时隔一年多终于又冒泡了,哎,随着工作越来越忙,自己踏实坐下来写点东西真是越来越费劲,这篇文章也是准备了好久好久才打算发表出来(不瞒大家,东西做完好久了,文章憋了一年了,当真"高产" ...