使用域名在IIS中托管Flask应用程序的最佳做法
我开发了一个使用域名在IIS中托管Flask应用程序的最佳做法,flask,iis,self-hosting,Flask,Iis,Self Hosting,我开发了一个flask应用程序(使用sqlserverdb),它运行在本地公司防火墙后面。现在,我们需要本地网络之外的其他用户访问此web应用程序。由于我正在使用SQL Server(带有链接服务器选项)连接到网络中的其他本地数据库(因为我们没有API),因此我希望在IIS本身中托管web应用程序(使用)。请告知: 使用IIS作为主机是否安全?为保护我们的本地网络而采取的任何最佳做法,以防任何渗透。我可以在虚拟机中运行web服务器吗?这会让它更安全吗 我还想买一个域名,并与我的网络服务器IP地址
flask
应用程序(使用sqlserver
db),它运行在本地公司防火墙后面。现在,我们需要本地网络之外的其他用户访问此web应用程序。由于我正在使用SQL Server(带有链接服务器选项)连接到网络中的其他本地数据库(因为我们没有API),因此我希望在IIS
本身中托管web应用程序(使用)。请告知:
IIS作为主机是否安全?为保护我们的本地网络而采取的任何最佳做法,以防任何渗透。我可以在虚拟机中运行web服务器吗?这会让它更安全吗
谢谢你的投入 您可以按照以下步骤在iis上托管flask应用程序: 首先,需要在服务器上安装python、wfastcgi和flask 从以下链接下载python: 注意:如果可能,请使用3.6以上的python版本 安装python后,安装wfastcgi。以管理员身份运行命令提示符并运行以下命令:
pip install wfastcgi
wfastcgi-enable
python app.py
下面是我的示例:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello from FastCGI via IIS!"
if __name__ == "__main__":
app.run()
创建要运行的应用程序后,请使用以下命令:
pip install wfastcgi
wfastcgi-enable
python app.py
现在启用iis的cgi功能:
- 打开iis。右键单击服务器名称并选择“添加站点”
- 输入站点名称物理路径和站点绑定
- 添加站点后,选择站点名称并从中间窗格中选择处理程序映射功能
- 从操作窗格中单击“添加模块映射”
- 可执行路径值:
- 单击“请求限制”。确保未选中“仅当请求映射到时调用处理程序:”复选框:
- 单击此处的“是”:
- 现在返回并选择应用程序设置功能
- 从操作窗格中单击添加
- 设置PYTHONPATH变量(即站点文件夹路径):
- 和WSGI_处理程序(我的烧瓶应用程序名为app.py,因此值为app.app-如果您的名称为site.py,则为site.app或类似名称):
- 打开iis管理器->选择应用程序池
- 从操作窗格中选择高级设置
- 在identity中,选中custom单选按钮并输入用户名和密码
Azure应用程序服务(Windows)上的Python结束后,您真的不想在IIS上托管任何Python web应用,是吗?网上的那些教程已经过时了。谢谢你的建议。非常感谢。。实际上,我正在寻找在IIS中实现的最佳实践,以保护我的web应用程序(最终是我们的办公网络)不受任何不必要的破坏。@jest对于您的第一个任务,您可以在IIS中托管您的站点。如果您只想在本地使用,则可以为只能访问该站点并拒绝其他用户的特定用户或组设置一些限制。将https与证书一起使用。对于第二个问题,当你绑定域名并想公开使用时,你还需要购买公共IP地址并用公共IP绑定域名。如果你还有任何问题,请告诉我。