因为最近在做小程序想调用自己的服务器,所以已经申请了ssl证书,并且以flask成功建成了,在小程序中不效准网址的话可以调用了,但是端口还是不知道在哪隐藏掉?或者是反向代理转一下?代理转一下的话:我想接入https://wodewangzhan.cn/ 的时候转到https://wodewangzhan.cn:5000/ 这样的,
这是我服务器的代码:
from flask import Flask
from flask import request
import urllib
import urllib.request
import urllib.parse
import json
from gevent.wsgi import WSGIServer
app = Flask(__name__)
@app.route('/',methods=['GET'])
def welcome():
return 'Hello World!'
@app.route('/tu',methods=['GET'])
def welcome1():
return 'Hello World!'
@app.route('/tu',methods=['POST'])
def zhongzhuan_url():
# 配置您申请的APPKey
appkey = "8080e5899b7e4534a8de2e6fb2b3363e"
url = "http://www.tuling123.com/openapi/api"
user_txt = request.form['info']
user_id=request.form['userid']
if user_txt:
# dict1 = json.loads(a)
# return json.dumps(dict1["data"])
params = {
"key": appkey, # 您申请到的本接口专用的APPKEY
"info": user_txt, # 要发送给机器人的内容,不要超过30个字符
"dtype": "", # 返回的数据的格式,json或xml,默认为json
"loc": "", # 地点,如北京中关村
"lon": "", # 经度,东经116.234632(小数点后保留6位),需要写为116234632
"lat": "", # 纬度,北纬40.234632(小数点后保留6位),需要写为40234632
"userid": user_id, # 1~32位,此userid针对您自己的每一个用户,用于上下文的关联
}
params = urllib.parse.urlencode(params)
f = urllib.request.urlopen("%s?%s" % (url, params))
content = f.read().decode("UTF-8")
# res = json.loads(content)
# print(content)
return content
else:
return "你好 我的小可爱"
# return "hello"
if __name__ == '__main__':
# app.debug = True
context=('../zhengshu/1_bundle.crt','../zhengshu/2_key.key')
app.run('0.0.0.0',threaded=True,ssl_context=context)
外网在访问我的网站的时候也是可以访问的
只是完蛋的是。。。微信小程序不让出现端口。。。我这个5000要怎么隐藏掉呢。。。。我曾经试过https://www.itbulu.com/hide-f... 这个的方法,用nginx反向代理,但是这个只能将我http的网址转到5000的端口,在https的时候不响应的
location / {
#try_files $uri $uri/ =404;
proxy_pass http://127.0.0.1:5000;
}
到底要怎么办,求指点。。。
最简单的方法:
修改一下
app.run()
的参数即可。