Apache 如何在本地通过HTTPS轻松地为静态文件提供服务
我们有前端和后端开发人员。目前,前端开发人员必须在他们的计算机上运行所有后端的东西,这对运行/编译来说可能相当繁重 我试图通过设置一个集成服务器来减轻这个开发过程,前端开发人员将能够在该服务器上插入本地服务的文件 基本上,前端开发人员会访问类似Apache 如何在本地通过HTTPS轻松地为静态文件提供服务,apache,http,https,Apache,Http,Https,我们有前端和后端开发人员。目前,前端开发人员必须在他们的计算机上运行所有后端的东西,这对运行/编译来说可能相当繁重 我试图通过设置一个集成服务器来减轻这个开发过程,前端开发人员将能够在该服务器上插入本地服务的文件 基本上,前端开发人员会访问类似https://integration.company.com/?baseStaticAssetUrl=http%3A%2F%2Flocalhost%3A8080,以便开发人员可以指定后端应在何处获取JS/CSS文件 除了HTTPS之外,这一切都很好,因为
https://integration.company.com/?baseStaticAssetUrl=http%3A%2F%2Flocalhost%3A8080
,以便开发人员可以指定后端应在何处获取JS/CSS文件
除了HTTPS之外,这一切都很好,因为如果后端html文件是用HTTPS加载的,则无法用HTTP加载JS文件
Chrome抱怨:
[阻止]页面位于
''
已通过HTTPS加载,但从运行不安全的内容
'':此内容也应加载
通过HTTPS
出于特定于我们业务的原因,我希望启用HTTPS(从HTTP切换到HTTPS已经让我们能够避免由于浏览器安全性而出现意外错误)
出于这些原因,我想知道是否可以轻松地在本地设置HTTPS服务器
对于HTTP,它非常简单(python-msimplehttpserver$PORT
),但是对于HTTPS,有没有简单的解决方案(或者我应该使用类似Apache的东西)?我想我必须获得本地主机域或其他的证书
你有没有看到用HTTPS提供文件的其他替代方案可以解决我的问题?事实上,我直到现在才注意到,但当Chrome限制发生时,Chrome url栏上有一个小屏蔽图标。单击它可以删除限制,以便在用户确实希望的情况下,可以从HTTPS服务的页面加载HTTP内容。这就解决了我的问题,因为我不再需要在本地提供HTTPS文件。有几种方法可以根据您更喜欢的语言/框架/系统来实现 基本步骤是:
openssl-req-nodes-sha256-days 365-newkey rsa:2048-new-x509-sub\
“/C=GC/ST=Garbage/L=Collector/O=ProgrammerMan/OU=Codeland/CN=localhost.ssl/emailAddress=me@example.com" \
-keyout localhost.ssl.key-out localhost.ssl.cert
停止
和重新加载
文件是为方便您而提供的。它们允许以自包含的方式启动nginx示例,并在机器上已经运行nginx的情况下进行隔离
error_log error.log;
pid nginx.pid;
events {
worker_connections 1024;
}
http {
# Usually nginx has much more comprehensive list of mime types
# But to keep the example self contained, here are some essential
# definitions
types {
text/html html htm shtml;
text/css css;
text/xml xml;
image/gif gif;
image/jpeg jpeg jpg;
application/javascript js;
image/png png;
}
server {
listen 3002 ssl;
server_name localhost.ssl;
ssl_certificate ../localhost.ssl.cert;
ssl_certificate_key ../localhost.ssl.key;
root ../webapp;
location / {
autoindex on;
index index.html;
}
}
}
将配置保存在localhost.ssl
文件中,将文件放入webapp
文件夹中,并使用nginx-p
pwd-c localhost.ssl
我还写了一篇关于这个主题的博文您可以使用并获得https代理地址
ngrok http $port
2020年5月更新:支持本地https。谢谢是的,我已经知道Ngrok,但从未想过如何使用它轻松公开本地内容(https:)很好的技巧:)