内网环境搭建微信公众号的JAVAWEB应用服务器
背景:打算搭建一个微信服务公众号对应的WEB服务器,最流行的方法是采用新浪SAE云服务器方法,考虑到后续应用系统的架构扩展性,使用JVM+TOMCAT的模式,但SAE JAVA WEB 服务器每小时12云豆收费,因此打算使用内网环境搭建WEB服务器。
软硬件资源及网络环境
电脑:一台MAC AIR,安装了MAC OS系统,并且安装了WIN7虚拟系统。
网络环境:华为WS860S无线路由器连接联通外网交换机。
目标架构
搭建内网JAVA WEB应用,可以通过外网域名访问。可以接收通过微信服务器转发的用户发送给公众号的消息,并对消息进行回复。
实施过程
由于对MAC OS 中WIN7虚拟机情况不了解,整个过程走了不少弯路。我之前所有的JAVAWEB开发环境,包括:Eclipse、Tomcat、mysql都是安装在Win7虚拟系统上的,因此打算直接复用该环境作为公众号的web服务器。
第一步,在花生壳网站花3块钱买了个域名,http://hzinternetservice.ticp.io,为什么要买域名,而不直接使用IP呢? 因为运行商给个人客户分配的IP地址是动态变化的,因此,需要用固定的域名来和这个变化的IP地址进行绑定。在每次路由器重启后,运行花生壳客户端,会自动将域名和外网地址绑定。
第二步,设置消息转发规则(端口映射规则),即将发送到路由器某个端口的消息,转发至局域网指定机器的端口。由于微信服务器配置地址仅支持80、443端口,做了如下配置:
第三步:启动虚拟系统中的web服务器,之前建了一个demoweb的项目,在地址栏里输入http://hzinternetservice.ticp.io/demoweb,就是访问不了,在虚拟机系统输入http://localhost/demoweb可以正常访问,在MAC OS 中输入http://192.168.1.2/demoweb也无法访问。经仔细分析发现,虚拟系统自动分配了一个特殊的IP地址,并且按照了一定的规则给虚拟系统映射了特定的端口。一直用netstat工具查看虚拟系统的80端口对应MAC OS系统哪个端口,一直没找到规律。
只能调整系统部署结构:
1、将web服务器部署在MAC OS 系统。在MAC OS 上安装了jdk、tomcat、eclipse用于开发,并且把web导出到项目中。这里要注意tomcat支持的J2EE的版本,我jdk、tomcat都使用的是8。
2、MySql仍然运行在window7虚拟系统中,通过jdbc的配置进行连接。MYSQL要做如下两个配置:
(1)在my.ini配置配置文档里的mysqld区域设置skip-host-cache、skip-name-resolve两个选项,忽略主机地址缓存以及主机名称解析。
[mysqld]
skip-host-cache
skip-name-resolve
(2)由于是通过OS系统访问虚拟系统,在访问权限上要设置user@%对数据库的访问。否则,会报”host not allowed to connect to this mysql server”。
第4步,尝试通过域名连接web服务器,还是连不上,而是每次都被重定向到路由器的管理地址上了。后来经分析发现,通过内网地址访问域名是不会重定向的,只有通过外网访问该路由器的80端口才会重定向到指定内网服务器的8080端口。
至此,通过内网机器搭建公网访问的WEB服务器就介绍完了,如果和微信公众号关联,将微信公众号消息转发至WEB服务器,并对公众号进行处理,请参考柳峰的微博。
内网环境搭建微信公众号的JAVAWEB应用服务器相关推荐
- 用内网服务器对接微信公众号服务
想使用微信公众号的开发者功能,打开开发菜单的基本配置 首先要做的就是服务器配置,如下图 根据微信这样的提示 意味着我们的服务器需要满足这样的要求: 1. 能够被微信访问,即能够被外网访问. 2. ...
- 本地服务配置内网穿透实现微信公众号整合
背景:在做一个点播课程的网站系统时,想要接入微信公众号实现在微信公众号上的课程点播等等操作.然后公众号注册一类的这里暂时先不谈论,有需要的同学可以自行查找. 但是,微信测试公众号不可以直接使用本地地址 ...
- 使用神卓互联内网穿透实现微信公众号开发:介绍了如何通过神卓互联实现微信公众号的开发和调试。
注册微信公众平台账号,并创建一个测试号. 1.在神卓互联控制台上,将公网IP地址和本地的80端口进行映射.同时,将80端口映射到本地开发2.环境的端口(如localhost:3000). 3.在本地开 ...
- [python]用flask框架搭建微信公众号的后台
用flask框架搭建微信公众号的后台 最近用python写了点爬虫,为了要让爬取的数据能够随时显示在我眼前,并实时根据我的指令返回数据.于是采用微信公众号做这个显示窗口,既能发送指令也能显示简单的相关 ...
- 如何用阿里云服务器搭建微信公众号机器人?
我们经常在一些公众号里回复信息,微信公众号都会自动回复信息,区别于微信平台的自动回复,有的公众号上面的自动回复,则更像是一个机器人客服.下面小编就教大家如何搭建微信公众号机器人. 所需材料: 微信公众 ...
- sae微信公众平台php,SAE 上使用PHP搭建微信公众号后台
SAE 上使用PHP搭建微信公众号后台 准备阶段 SAE准备 SAE的应用平台提供了一个语言环境.比如提供了PHP环境的应用即可运行PHP代码.当然环境中也可以放HTML和CSS,将要展示的页面命名为 ...
- SpringBoot搭建微信公众号后台(一):消息接收与响应
关注作者,更多动态实时掌握,微信公众号:隔壁的程序员 上一篇我们经过接口验证,已经可以与微信的服务器进行通信,错过的可以通过下面链接来进行回顾,这一篇就来实现一个基本的消息接收与响应. SpringB ...
- php虚拟主机搭建微信公众号服务器
@版权声明:本文为博主原创文章,未经博主允许不得转载https://blog.csdn.net/qq_40758535/article/details/89606716 php虚拟主机搭建微信公众号服 ...
- 华为云服务器如何搭建微信公众号后台-收发文本信息?
概述 在本教程中,您将学会使用弹性云服务器(以下简称 ECS)搭建微信公众号处理后台,使用Python语言编写对应的微信消息处理逻辑代码,接收从微信服务端转发过来的消息,并返回处理结果给最终用户,如图 ...
最新文章
- 重磅推出:AutoProject Studio 自动化项目生成器
- python读文件代码-简单了解Python读取大文件代码实例
- 测试mysql安装成功_MySQL安装之“测试”
- 类操作是什么意思?jQuery的类操作教程分享
- 休眠 关闭串口输出_C#实例:串口通讯
- Hibernate中使用Criteria查询及注解——(Dept.java)
- ios UIPickerView 技巧集锦
- UVa140 Bandwidth 【最优性剪枝】
- 【Redis】redis-3.0.0安装以及集群的搭建
- ethtool 原理介绍和解决网卡丢包排查思路(附ethtool源码下载)
- 计算机系统-x86架构下的寄存器与寻址
- 【树莓派】iptables相关配置
- Webpack笔记(三)——一款破产版脚手架的开发
- 基于matlab的信号与系统课程设计,信号与系统课程设计基于 MATLAB 完成信号与系统综合设计实验...
- SPSS、 Mplus下载安装包
- 数字电子技术基础 - 半导体存储电路
- 计算机中0和1的表示
- 移动端跨平台开发的深度解析
- IE网页截图技术笔记
- 消息队列如何保证消息的幂等性