如何将 nginx 配置文件从 code-server 转换为 apache2 配置文件
how to convert nginx config file from code-server to apache2 config file
我来这里,因为正如标题所示,我安装了 code-server 除了我希望它在 apache2 下而不是在 nginx 下。我正在尝试在 https 下设置我的服务器,我已经有了我的证书我只需要配置文件。
我是初学者,所以我并不完全了解 nginx 和 code-server 的工作原理以及如何对其进行调整。我按照很多教程来做这个,配置文件总是一样的:
server {
listen 80;
listen [::]:80;
server_name domainname.domain.dev;
location / {
proxy_pass http://localhost:8080/;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
proxy_set_header Accept-Encoding gzip;
}
}
在我必须设置服务文件之前:code-server.service:
[Unit]
Description=code-server
After=apache2.service #I changed this line before it was: nginx.service
[Service]
Type=simple
Environment=PASSWORD=code-server-password
ExecStart=/usr/bin/code-server --bind-addr 127.0.0.1:8080 --user-data-dir /var/lib/code-server --auth password
Restart=always
[Install]
WantedBy=multi-user.target
你能帮帮我吗?我正在尝试找到解决此问题的方法,但我不知道该怎么做
我认为以下应该有效:
<VirtualHost _default_:80>
ServerName myserverdomainname
ServerAdmin webmaster@myserverdomainname
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
RequestHeader set Connection ""
RequestHeader set Upgrade $http_upgrade;
RequestHeader set Connection "upgrade"
RequestHeader set X-Forwarded-Proto "http"
<Location />
</VirtualHost>
启用 SSL
<VirtualHost _default_:443>
ServerName myserverdomainname
ServerAdmin webmaster@myserverdomainname
SSLEngine on
SSLProxyEngine on
##LE Certs
SSLCertificateFile /etc/letsencrypt/live/domain/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/domain/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/domain/fullchain.pem
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://localhost:8000/
ProxyPassReverse / http://localhost:8000/
RequestHeader set Connection ""
RequestHeader set Upgrade $http_upgrade;
RequestHeader set Connection "upgrade"
RequestHeader set X-Forwarded-Proto "https"
<Location />
</VirtualHost>
最后我找到了解决问题的方法,我不得不使用 apache 反向代理。我不明白所有的代码,但它有效。对于那些和我有同样问题的人,我找到了这个网站:https://toscode.gitee.com/crazyleega/code-server/blob/master/doc/quickstart.md
为了激活 https 和 ssl,我这样做了:
<VirtualHost *:443>
ServerName domainname
RewriteEngine On
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteRule /(.*) ws://localhost:8080/ [P,L]
RewriteCond %{HTTP:Upgrade} !=websocket [NC]
RewriteRule /(.*) http://localhost:8080/ [P,L]
SSLEngine on
SSLProxyEngine on
SSLCertificateFile pathofyourcert
SSLCertificateKeyFile pathofyourkey
ProxyRequests off
ProxyPass / http://localhost:8080/ nocanon
ProxyPassReverse / http://localhost:8080/
</VirtualHost>
我来这里,因为正如标题所示,我安装了 code-server 除了我希望它在 apache2 下而不是在 nginx 下。我正在尝试在 https 下设置我的服务器,我已经有了我的证书我只需要配置文件。 我是初学者,所以我并不完全了解 nginx 和 code-server 的工作原理以及如何对其进行调整。我按照很多教程来做这个,配置文件总是一样的:
server {
listen 80;
listen [::]:80;
server_name domainname.domain.dev;
location / {
proxy_pass http://localhost:8080/;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
proxy_set_header Accept-Encoding gzip;
}
}
在我必须设置服务文件之前:code-server.service:
[Unit]
Description=code-server
After=apache2.service #I changed this line before it was: nginx.service
[Service]
Type=simple
Environment=PASSWORD=code-server-password
ExecStart=/usr/bin/code-server --bind-addr 127.0.0.1:8080 --user-data-dir /var/lib/code-server --auth password
Restart=always
[Install]
WantedBy=multi-user.target
你能帮帮我吗?我正在尝试找到解决此问题的方法,但我不知道该怎么做
我认为以下应该有效:
<VirtualHost _default_:80>
ServerName myserverdomainname
ServerAdmin webmaster@myserverdomainname
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
RequestHeader set Connection ""
RequestHeader set Upgrade $http_upgrade;
RequestHeader set Connection "upgrade"
RequestHeader set X-Forwarded-Proto "http"
<Location />
</VirtualHost>
启用 SSL
<VirtualHost _default_:443>
ServerName myserverdomainname
ServerAdmin webmaster@myserverdomainname
SSLEngine on
SSLProxyEngine on
##LE Certs
SSLCertificateFile /etc/letsencrypt/live/domain/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/domain/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/domain/fullchain.pem
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://localhost:8000/
ProxyPassReverse / http://localhost:8000/
RequestHeader set Connection ""
RequestHeader set Upgrade $http_upgrade;
RequestHeader set Connection "upgrade"
RequestHeader set X-Forwarded-Proto "https"
<Location />
</VirtualHost>
最后我找到了解决问题的方法,我不得不使用 apache 反向代理。我不明白所有的代码,但它有效。对于那些和我有同样问题的人,我找到了这个网站:https://toscode.gitee.com/crazyleega/code-server/blob/master/doc/quickstart.md
为了激活 https 和 ssl,我这样做了:
<VirtualHost *:443>
ServerName domainname
RewriteEngine On
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteRule /(.*) ws://localhost:8080/ [P,L]
RewriteCond %{HTTP:Upgrade} !=websocket [NC]
RewriteRule /(.*) http://localhost:8080/ [P,L]
SSLEngine on
SSLProxyEngine on
SSLCertificateFile pathofyourcert
SSLCertificateKeyFile pathofyourkey
ProxyRequests off
ProxyPass / http://localhost:8080/ nocanon
ProxyPassReverse / http://localhost:8080/
</VirtualHost>