So stellen Sie die eingehenden HTTP-Anforderungen ein und leiten sie um

1149
Rudziankoŭ

Mein Server hat einen öffentlichen Hostnamen my_machine.my_company.org:8080. Ich möchte alle eingehenden http-Anfragen an localhost umleiten: 8080.

Wie kann ich es tun? Ich benutze Ubuntu 15.10.

Warum mache ich das? Weil ich ein SSO-Zertifikat für localhost:8080, aber nicht für den öffentlichen Hostnamen habe.

1
utfg http://tldp.org/HOWTO/TransparentProxy.html, https://www.cyberciti.biz/tips/linux-setup-transparent-proxy-squid-howto.html, Ipor Sircer vor 7 Jahren 0

1 Antwort auf die Frage

2
cascer1

In diesem Handbuch wird erläutert, wie Sie NGINX als Reverse Proxy für Jenkins einrichten. Sie können jedoch den Jenkins-Teil weglassen und trotzdem einen Reverse Proxy verwenden.

Es geht darum, NGINX zu installieren und anschließend Folgendes für die Site hinzuzufügen, die Sie vertreten möchten:

server {  listen 80; server_name my_machine.my_company.org;   access_log /var/log/nginx/my_machine.access.log;  location / {  proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme;  # Fix the “It appears that your reverse proxy set up is broken" error. proxy_pass http://localhost:8080; proxy_read_timeout 90;  proxy_redirect http://localhost:8080 http://my_machine.my_company.org:8080; } } 

EDIT : Wenn alles, was Sie tun wollen Anfragen ist umleiten, Sie könnten das folgende Setup stattdessen verwenden. Dies wird jedoch für Benutzer, die die Site von einem anderen Computer aus besuchen, kaputt gehen.

server { listen 80; return 301 http://my_machine.my_company.org$request_uri; } 
Vielen Dank für die Antwort, ich kann Tomcat danach nicht starten, der auf "locolhost: 8080" funktionieren sollte, der Port wird bereits verwendet. Wenn ich zu http://my_machine.my_company.org:8080 navigiere, drücke ich den Fehlercode '502' Rudziankoŭ vor 7 Jahren 0
Ändern Sie die Zeile "listen 8080" in "listen 80". Auf diese Weise sollten Sie in der Lage sein, my_machine.my_company.org:80 (oder ohne Port, da 80 die Standardeinstellung ist) aufzurufen und denselben Inhalt zu sehen, den Sie auf localhost sehen : 8080 auf Ihrem eigenen Computer. cascer1 vor 7 Jahren 0
Danke, mit Ihrer Hilfe habe ich getan, was ich vermutete, aber es hat nicht geholfen. Meine nächste Frage ist hier http://stackoverflow.com/questions/40682237/expose-server-with-sso-certificate-for-localhost Rudziankoŭ vor 7 Jahren 0