背景:打算搭建一个微信服务公众号对应的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. 用内网服务器对接微信公众号服务

    想使用微信公众号的开发者功能,打开开发菜单的基本配置 首先要做的就是服务器配置,如下图 根据微信这样的提示 意味着我们的服务器需要满足这样的要求: 1.    能够被微信访问,即能够被外网访问. 2. ...

  2. 本地服务配置内网穿透实现微信公众号整合

    背景:在做一个点播课程的网站系统时,想要接入微信公众号实现在微信公众号上的课程点播等等操作.然后公众号注册一类的这里暂时先不谈论,有需要的同学可以自行查找. 但是,微信测试公众号不可以直接使用本地地址 ...

  3. 使用神卓互联内网穿透实现微信公众号开发:介绍了如何通过神卓互联实现微信公众号的开发和调试。

    注册微信公众平台账号,并创建一个测试号. 1.在神卓互联控制台上,将公网IP地址和本地的80端口进行映射.同时,将80端口映射到本地开发2.环境的端口(如localhost:3000). 3.在本地开 ...

  4. [python]用flask框架搭建微信公众号的后台

    用flask框架搭建微信公众号的后台 最近用python写了点爬虫,为了要让爬取的数据能够随时显示在我眼前,并实时根据我的指令返回数据.于是采用微信公众号做这个显示窗口,既能发送指令也能显示简单的相关 ...

  5. 如何用阿里云服务器搭建微信公众号机器人?

    我们经常在一些公众号里回复信息,微信公众号都会自动回复信息,区别于微信平台的自动回复,有的公众号上面的自动回复,则更像是一个机器人客服.下面小编就教大家如何搭建微信公众号机器人. 所需材料: 微信公众 ...

  6. sae微信公众平台php,SAE 上使用PHP搭建微信公众号后台

    SAE 上使用PHP搭建微信公众号后台 准备阶段 SAE准备 SAE的应用平台提供了一个语言环境.比如提供了PHP环境的应用即可运行PHP代码.当然环境中也可以放HTML和CSS,将要展示的页面命名为 ...

  7. SpringBoot搭建微信公众号后台(一):消息接收与响应

    关注作者,更多动态实时掌握,微信公众号:隔壁的程序员 上一篇我们经过接口验证,已经可以与微信的服务器进行通信,错过的可以通过下面链接来进行回顾,这一篇就来实现一个基本的消息接收与响应. SpringB ...

  8. php虚拟主机搭建微信公众号服务器

    @版权声明:本文为博主原创文章,未经博主允许不得转载https://blog.csdn.net/qq_40758535/article/details/89606716 php虚拟主机搭建微信公众号服 ...

  9. 华为云服务器如何搭建微信公众号后台-收发文本信息?

    概述 在本教程中,您将学会使用弹性云服务器(以下简称 ECS)搭建微信公众号处理后台,使用Python语言编写对应的微信消息处理逻辑代码,接收从微信服务端转发过来的消息,并返回处理结果给最终用户,如图 ...

最新文章

  1. 重磅推出:AutoProject Studio 自动化项目生成器
  2. python读文件代码-简单了解Python读取大文件代码实例
  3. 测试mysql安装成功_MySQL安装之“测试”
  4. 类操作是什么意思?jQuery的类操作教程分享
  5. 休眠 关闭串口输出_C#实例:串口通讯
  6. Hibernate中使用Criteria查询及注解——(Dept.java)
  7. ios UIPickerView 技巧集锦
  8. UVa140 Bandwidth 【最优性剪枝】
  9. 【Redis】redis-3.0.0安装以及集群的搭建
  10. ethtool 原理介绍和解决网卡丢包排查思路(附ethtool源码下载)
  11. 计算机系统-x86架构下的寄存器与寻址
  12. 【树莓派】iptables相关配置
  13. Webpack笔记(三)——一款破产版脚手架的开发
  14. 基于matlab的信号与系统课程设计,信号与系统课程设计基于 MATLAB 完成信号与系统综合设计实验...
  15. SPSS、 Mplus下载安装包
  16. 数字电子技术基础 - 半导体存储电路
  17. 计算机中0和1的表示
  18. 移动端跨平台开发的深度解析
  19. IE网页截图技术笔记
  20. 消息队列如何保证消息的幂等性

热门文章

  1. 除非雨落之后仍是雨(转)
  2. SAP中MD04中计划独立需求的MRP元素标识与需求类型的关系及应用
  3. 如何获取Cookie并使用Cookie侵入
  4. 记账系统推荐金蝶精斗云_史上最强报销神器,金蝶精斗云报销
  5. 新手必备pr 2021快速入门教程「十三」PR变形稳定器的使用
  6. Pr 入门教程:如何应用变形稳定器效果?
  7. 复合消隐信号的作用_黑白全电视信号的组成
  8. 春节大礼包|刷题技巧+80道Leetcode
  9. 系统内的在线协同富文本,如何寻求解决方案?
  10. php base64 站长工具,关键词优化难易分析_SEO优化难度分析 - 站长工具