Linux
如何強制 http webapp 使用 https (ssl)?
在我們的 Linux 伺服器上,我們有某種或 WebApp 執行它自己的小型網路伺服器,僅使用 http。這意味著它本身不支持 ssl。所以我正在尋找一種在這個小 Webserver/WebApp 前面打包“東西”的方法,所以它正在與使用者交談 https(必需)並讓它繼續在本地與 WebApp 交談 http(伺服器內部)。
我試圖找到類似的東西。但事實上我發現了很多關於 apache、ssl 和反向代理的東西並沒有真正解決問題。我比以前更困惑。
需要一些提示、關鍵字或實現此目的的配置範例。
謝謝
在你的 webapp 前面設置一個 NGINX 或類似的伺服器來代理流量。然後使用 SSL 證書設置 NGINX。
設置您的 webapp 以在 fx 上執行。埠 8080 並使用這段程式碼在 NGINX 中代理它:
location / { proxy_pass http://127.0.0.1:8080/; }
啟用 SSL 的整個伺服器塊應如下所示:
server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; listen 443 ssl; server_name example.com; ssl_certificate /etc/nginx/ssl/nginx.crt; ssl_certificate_key /etc/nginx/ssl/nginx.key; location / { proxy_pass http://127.0.0.1:8080/; } }
Apache 虛擬主機配置範例:
<VirtualHost *:443> ServerName example.com ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined SSLEngine on SSLCertificateFile /path/to/certificatefile SSLCertificateKeyFile /path/to/keyfile <Location /> ProxyPass http://your-webserver:8080/ ProxyPassReverse http://your-webserver:8080/ </Location> </VirtualHost>
它尚未經過測試,可能需要進行一些調整,但應該讓您了解如何設置它。