HTTPS POST 调用被烧瓶忽略

时间:2021-01-09 08:20:19

标签: docker flask https

我有 2 个烧瓶容器。一个在端口 80 上侦听 http 调用,另一个在端口 443 上侦听 https 调用。 两者都应该响应 GET 和 POST 调用。 http(端口 80)服务器适用于 GET 和 POST。 https(端口 443)服务器对于 GET 调用工作正常,但由于某些不清楚的原因,似乎 POST 调用在某处被阻止并且不会通过 Flask 服务器。

这是httpflask服务器的app.py:

from flask import Flask, request
import requests
app = Flask(__name__)

@app.route('/', defaults={'u_path': ''}, methods=['GET',"POST"])
@app.route('/<path:u_path>', methods=['GET',"POST"])
def redirectChannels(u_path):
    print(repr(u_path))
    print(request.base_url)
    print(request.url)
    print(request.method)
    print(request.values)

    res = ""
    if request.method == "GET":
        ans = requests.get(request.url)
        res = ans.text
    elif request.method == "POST":
        res = requests.post(request.url, data=request.values)

    return res


@app.before_request
def log_request_info():
    print('Headers: %s', request.headers)
    print('Body: %s', request.get_data())


if __name__ == "__main__":
    app.run(host ='0.0.0.0', port = 5000, debug = True)

这是httpsflask服务器的app.py:

from flask import Flask, request
import requests
import sys, traceback
import json
app = Flask(__name__)

@app.route('/', defaults={'u_path': ''}, methods=['GET','POST'])
@app.route('/<path:u_path>', methods=['GET','POST'])
def redirectChannels(u_path):
    print(repr(u_path))
    print(request.base_url)
    print(request.url)
    print(request.method)
    print(request.values)

    res = ""
    if request.method == "GET":
        ans = requests.get(request.url)
        res = ans.text
    elif request.method == "POST":
        res = requests.post(request.url, data=request.values)

    return res

@app.before_request
def log_request_info():
    print('Headers: %s', request.headers)
    print('Body: %s', request.get_data())

if __name__ == "__main__":
    app.run(host ='0.0.0.0', port = 5000, debug = True, ssl_context='adhoc')

我实际上认为这可能与容器端口映射中的配置有关。当运行 docker ps 我得到这个: docker ps result

不确定我是否理解两个容器中 PORTS 下的 443/tcp,我相信这可能与我的问题有关。谁能解释一下?

0 个答案:

没有答案
相关问题